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