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); }
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); } }
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"); }
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"); }
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"); } }
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); }
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); } }