private ILotteryCouponGenerator CreateLotteryCouponGeneratorMock(LotteryCoupon expectedLotteryCoupon) { var lotteryCouponGenerator = Substitute.For <ILotteryCouponGenerator>(); lotteryCouponGenerator.CreateEmptyLotteryCoupon().Returns(expectedLotteryCoupon); return(lotteryCouponGenerator); }
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); }