Exemplo n.º 1
0
        private static void AddCard(ref DeckService deckService)
        {
            Console.WriteLine("Enter the name of the deck: ");
            var name = Console.ReadLine();
            var deck = deckService.GetDeck(name);

            if (deck == null)
            {
                Console.WriteLine("The deck not found.\n");
                return;
            }

            Console.WriteLine("\n\nEnter a name for the new card: ");
            name = Console.ReadLine();

            ushort number;

            try
            {
                Console.WriteLine("\nEnter the number of the card: ");
                number = ushort.Parse(Console.ReadLine() !);
            }
            catch (Exception)
            {
                Console.WriteLine("Input error.\n");
                return;
            }

            var result = DeckService.AddCard(ref deck, name, number);

            Console.WriteLine(result.Message);
        }
Exemplo n.º 2
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);
            }
        }
Exemplo n.º 3
0
        private static void GetDeckInfo(ref DeckService deckService)
        {
            Console.WriteLine("Enter the name of the deck: ");
            string name = Console.ReadLine();
            var    deck = deckService.GetDeck(name);

            if (deck == null)
            {
                Console.WriteLine("The deck not found.\n");
                return;
            }

            Console.WriteLine($"Name: {deck.Name}\nCardsCount: {deck.Cards.Count}\nSorted: {deck.Sorted}\n");
        }
Exemplo n.º 4
0
        private static void UnsortDeck(ref DeckService deckService)
        {
            Console.WriteLine("Enter the name of the deck: ");
            var name = Console.ReadLine();
            var deck = deckService.GetDeck(name);

            if (deck == null)
            {
                Console.WriteLine("The deck not found.\n");
                return;
            }

            deck.Unsort();
            Console.WriteLine($"The deck {deck.Name} has been successfully unsorted!\n");
        }
Exemplo n.º 5
0
        private static void PrintDeck(ref DeckService deckService)
        {
            Console.WriteLine("Enter the name of the deck: ");
            var name = Console.ReadLine();
            var deck = deckService.GetDeck(name);

            if (deck == null)
            {
                Console.WriteLine("The deck not found.\n");
                return;
            }

            Console.WriteLine($"\n\nThe {name} deck contains following cards:\n");

            foreach (var item in deck.Cards)
            {
                Console.WriteLine($"{item.Name} {item.Number}\n");
            }
        }
Exemplo n.º 6
0
        public Card[] GetDeck()
        {
            var session = Utils.GetSession(_sessionService, HttpRequest, HttpResponse);

            if (session == null)
            {
                return(null);
            }
            var cards = _deckService.GetDeck(session.UserId);

            if (HttpRequest.Url.Parameter.TryGetValue("format", out var format))
            {
                if (format.Equals("plain", StringComparison.OrdinalIgnoreCase))
                {
                    var plainCards = string.Join("\n", cards.Select(x => x.ToString()));
                    HttpResponse.SetContent(plainCards);
                    return(null);
                }
            }
            return(cards);
        }
Exemplo n.º 7
0
        public void TestDefaultCardsInDeck()
        {
            using (var context = new AppDbContext(CreateNewContextOptions()))
            {
                var service            = new DeckService(context);
                DeckCreateCommand deck = new DeckCreateCommand
                {
                    GameId   = 1,
                    PlayerId = 1,
                    Type     = 1
                };
                Card scout = new Card
                {
                    Name            = "Scout",
                    Cost            = 0,
                    DefaultQuantity = 8
                };
                Card viper = new Card
                {
                    Name            = "Viper",
                    Cost            = 0,
                    DefaultQuantity = 2
                };
                context.Cards.Add(scout);
                context.Cards.Add(viper);

                service.CreateDeck(deck);

                var d             = service.GetDeck(1);
                int totalQuantity = d.Cards.Select(x => x.Quantity).Sum();
                int scoutQuantity = d.Cards.First().Quantity;
                int viperQuantity = d.Cards.Last().Quantity;;

                Assert.Equal(2, d.Cards.Count());
                Assert.Equal(10, totalQuantity);
                Assert.Equal(8, scoutQuantity);
                Assert.Equal(2, viperQuantity);
            }
        }