public void executeChivalrousDeeds_adds3ShieldsToLowestPlayer() { GameController game = new GameController(); game.isDoneStoryEvent = false; iStoryChivalrousDeed deed = new iStoryChivalrousDeed(); EventCard eCard = new EventCard("Event Card", "Test Event", "description", " ", deed); List <Player> players = new List <Player>(); Player player1 = new Player("Ahmed", new List <Card>(), new iStrategyPlayer(), ""); player1.addShields(1); players.Add(player1); Player player2 = new Player("Kazma", new List <Card>(), new iStrategyPlayer(), ""); player2.addShields(1); players.Add(player2); Player player3 = new Player("Rotharn", new List <Card>(), new iStrategyPlayer(), ""); player3.addShields(1); players.Add(player3); Player player4 = new Player("Cheldon", new List <Card>(), new iStrategyPlayer(), ""); players.Add(player4); // Check the scores before the event Assert.AreEqual(1, player1.score); Assert.AreEqual(1, player2.score); Assert.AreEqual(1, player3.score); Assert.AreEqual(0, player4.score); // Run the deed deed.execute(players, eCard, game); // Check the scores Assert.AreEqual(1, player1.score); Assert.AreEqual(1, player2.score); Assert.AreEqual(1, player3.score); Assert.AreEqual(3, player4.score); // Check that it works for a multiplayer tie deed.execute(players, eCard, game); Assert.AreEqual(4, player1.score); Assert.AreEqual(4, player2.score); Assert.AreEqual(4, player3.score); Assert.AreEqual(3, player4.score); Assert.AreEqual(true, game.isDoneStoryEvent); }