public void TestCreatingMainDeck() { using (var context = new AppDbContext(CreateNewContextOptions())) { for (int i = 0; i < 20; i++) { Card card = new Card { Name = "DummyCard" + i.ToString(), Cost = i, DefaultQuantity = 10 }; context.Cards.Add(card); context.SaveChanges(); } Player player1 = new Player { Name = "ZTO" }; Player player2 = new Player { Name = "CS" }; context.Players.Add(player1); context.Players.Add(player2); context.SaveChanges(); Game game = new Game { PlayerTurn = 0 }; context.SaveChanges(); PlayerGame pg1 = new PlayerGame { PlayerId = 1, GameId = 1 }; PlayerGame pg2 = new PlayerGame { PlayerId = 2, GameId = 1 }; context.PlayerGames.Add(pg1); context.PlayerGames.Add(pg2); context.SaveChanges(); DeckService deckService = new DeckService(context); deckService.CreateMainDeck(game.Id); var deck = deckService.GetDeck(1); int totalCount = deck.Cards.Select(x => x.Quantity).Sum(); // should not add cards with a cost of 0 Assert.Equal(19, deck.Cards.Count()); Assert.Equal(190, totalCount); } }