Exemplo n.º 1
0
        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);
            }
        }