public void getPlayingStackAndStack_multipleCardsGrabbedAndGiven_MultipleCards() { //Arrange PlayingStackSingleton playingStackInstance = PlayingStackSingleton.GetInstance(); int amountBeforePlay = playingStackInstance.GetStack().Count; StackSingleton stackInstance = StackSingleton.GetInstance(); int amountBeforeGrab = stackInstance.GetStack().Count; User user = new User(1, "peter"); User user2 = new User(2, "steve"); User user3 = new User(3, "jack"); //Act user.GrabCards(2); var card = user.GetCards()[0]; user.PlayCard(card); user2.GrabCards(4); card = user2.GetCards()[0]; user2.PlayCard(card); user3.GrabCards(4); card = user3.GetCards()[0]; user3.PlayCard(card); //Assert int amountAfterPlay = playingStackInstance.GetStack().Count; int amountAfterGrab = stackInstance.GetStack().Count; Assert.AreEqual(amountBeforePlay + 3, amountAfterPlay); Assert.AreEqual(amountBeforeGrab - 10, amountAfterGrab); }
public void getPlayingStack_threeCardsGiven_threeCards() { //Arrange PlayingStackSingleton playingStackInstance = PlayingStackSingleton.GetInstance(); int amountBeforePlay = playingStackInstance.GetStack().Count; StackSingleton stackInstance = StackSingleton.GetInstance(); User user = new User(1, "peter"); User user2 = new User(2, "steve"); User user3 = new User(3, "jack"); //Act user.GrabCards(2); string card = user.GetCards()[0]; user.PlayCard(card); user2.GrabCards(2); card = user2.GetCards()[0]; user2.PlayCard(card); user3.GrabCards(2); card = user3.GetCards()[0]; user3.PlayCard(card); //Assert int amountAfterPlay = playingStackInstance.GetStack().Count; Assert.AreEqual(amountBeforePlay + 3, amountAfterPlay); }
public void getPlayingStack_noCardsGiven_noCards() { //Arrange PlayingStackSingleton playingStackInstance = PlayingStackSingleton.GetInstance(); int amount = playingStackInstance.GetStack().Count; //Assert Assert.AreEqual(0, amount); }
static void Main(string[] args) { StackSingleton stackInstance = StackSingleton.GetInstance(); PlayingStackSingleton playingStackInstance = PlayingStackSingleton.GetInstance(); List <User> users = new List <User>(); Console.Write("How many players: "); int amountOfPlayers = Convert.ToInt32(Console.ReadLine()); for (int i = 1; i <= amountOfPlayers; i++) { Console.Write("Name of player " + i + ": "); string userName = Console.ReadLine(); users.Add(new User(i, userName)); } Console.Write("How many rounds: "); int amountOfRounds = Convert.ToInt32(Console.ReadLine()); Random r = new Random(); for (int i = 0; i < amountOfRounds; i++) { int playerNumber = r.Next(1, amountOfPlayers + 1); Console.WriteLine("\n----------status---------- \n"); playingStackInstance.PrintStaple(); stackInstance.PrintStack(); Console.WriteLine("----------round " + (i + 1) + "----------\n"); foreach (User user in users) { if (user.Id == playerNumber) { Console.Write(user.Name + " grab amount of cards: "); int amountOfCards = Convert.ToInt32(Console.ReadLine()); user.GrabCards(amountOfCards); user.PrintHand(); Console.Write(user.Name + " gives card: "); string givenCard = Console.ReadLine(); user.PlayCard(givenCard); } } } Console.WriteLine("\n----------end result----------\n"); playingStackInstance.PrintStaple(); stackInstance.PrintStack(); foreach (User user in users) { user.PrintHand(); } Console.ReadKey(); }
public void getPlayingStack_oneWrongCardGiven_noCards() { //Arrange PlayingStackSingleton playingStackInstance = PlayingStackSingleton.GetInstance(); int amountBeforePlay = playingStackInstance.GetStack().Count; StackSingleton stackInstance = StackSingleton.GetInstance(); User user = new User(1, "peter"); string card = "not possible"; //Act user.PlayCard(card); //Assert int amountAfterPlay = playingStackInstance.GetStack().Count; Assert.AreEqual(amountBeforePlay, amountAfterPlay); }
public void getPlayingStack_oneCardGiven_oneCard() { //Arrange PlayingStackSingleton playingStackInstance = PlayingStackSingleton.GetInstance(); int amountBeforePlay = playingStackInstance.GetStack().Count; StackSingleton stackInstance = StackSingleton.GetInstance(); User user = new User(1, "peter"); //Act user.GrabCards(2); string card = user.GetCards()[0]; user.PlayCard(card); //Assert int amountAfterPlay = playingStackInstance.GetStack().Count; Assert.AreEqual(amountBeforePlay + 1, amountAfterPlay); }