private ILotteryCouponGenerator CreateLotteryCouponGeneratorMock(LotteryCoupon expectedLotteryCoupon)
        {
            var lotteryCouponGenerator = Substitute.For <ILotteryCouponGenerator>();

            lotteryCouponGenerator.CreateEmptyLotteryCoupon().Returns(expectedLotteryCoupon);
            return(lotteryCouponGenerator);
        }
Example #2
0
 private static void CheckAllRowsAndColumnValues(LotteryCoupon lotteryCoupon, int expectedValue)
 {
     foreach (var row in lotteryCoupon.Rows)
     {
         foreach (var n in row)
         {
             Assert.Equal(expectedValue, n);
         }
     }
 }
        public void TestLuckyLotteryCouponGeneratorWithOneThread()
        {
            // Arrange:
            var expectedLotteryCoupon       = new LotteryCoupon(10, 7);
            var lotteryCouponGenerator      = CreateLotteryCouponGeneratorMock(expectedLotteryCoupon);
            var lotteryCouponChecker        = CreateLotteryCouponCheckerMock();
            var luckyLotteryCouponGenerator = new LuckyLotteryCouponGenerator(lotteryCouponGenerator, lotteryCouponChecker);

            // Act:
            (var result, long numberOfAttempts) = luckyLotteryCouponGenerator.Generate(1);

            // Assert:
            Assert.Same(expectedLotteryCoupon, result);
            Assert.Equal(1, numberOfAttempts);
        }