Beispiel #1
0
        public void Add_ShouldAddADrawToTheDatabase()
        {
            //Arrange
            var someGame = new LotteryGameBuilder().Build();

            using (var context = CreateDbContext())
            {
                context.Add(someGame);
                context.SaveChanges();
            }

            var newDraw = new DrawBuilder().WithLotteryGameId(someGame.Id).WithRandomDrawNumbers(1, 1).Build();

            using (var context = CreateDbContext())
            {
                var repo = new DrawRepository(context);

                //Act
                repo.Add(newDraw);
            }

            using (var context = CreateDbContext())
            {
                //Assert
                var savedDraw = context.Set <Draw>().FirstOrDefault(draw => draw.Id == newDraw.Id);
                Assert.That(savedDraw, Is.Not.Null, () => "Cannot find the added draw in the database.");
            }
        }
Beispiel #2
0
        public LotteryGameBuilder WithRandomDraws(int minimumAmountOfDraws, int maximumAmountOfDraws)
        {
            _game.Draws = new List <Draw>();
            var amountOfDraws = _random.Next(minimumAmountOfDraws, maximumAmountOfDraws + 1);

            for (int i = 0; i < amountOfDraws; i++)
            {
                var draw = new DrawBuilder().WithRandomDrawNumbers(1, 10).Build();
                _game.Draws.Add(draw);
            }
            return(this);
        }
Beispiel #3
0
        public void Add_ShouldThrowArgumentExceptionWhenTheDrawContainsNoDrawNumbers()
        {
            var newDraw = new DrawBuilder().Build();

            using (var context = CreateDbContext())
            {
                var repo = new DrawRepository(context);

                newDraw.DrawNumbers = null;
                Assert.That(() => repo.Add(newDraw), Throws.ArgumentException,
                            () => "Should throw an 'ArgumentException' when 'DrawNumbers' is null.");

                newDraw.DrawNumbers = new List <DrawNumber>();
                Assert.That(() => repo.Add(newDraw), Throws.ArgumentException,
                            () => "Should throw an 'ArgumentException' when 'DrawNumbers' is empty.");
            }
        }