public void TwoPlayersAtFoolsLanding()
        {
            //Arrange
            var canWin     = new CanWin_AllAtFoolsLanding();
            var islandTile = new IslandTile();

            islandTile.PlayersOnTile = new List <Player>();
            var playerList = new List <Player>();

            var messenger = new Player()
            {
                Name = PlayerConstants.MESSENGER_NAME
            };
            var diver = new Player()
            {
                Name = PlayerConstants.DIVER_NAME
            };

            islandTile.PlayersOnTile.Add(diver);
            islandTile.PlayersOnTile.Add(messenger);
            List <TreasureCard> treasureCards = new List <TreasureCard>();

            //Act
            var result = canWin.CanWin(islandTile, treasureCards);

            //Assert
            Assert.AreEqual(result.IsValid, false);
            Assert.AreEqual(result.ErrorMessage, "Only Diver and Messenger at fools landing.");
        }
        public void ReturnsValidationResults()
        {
            //Arrange
            var canWin     = new CanWin_AllAtFoolsLanding();
            var islandTile = new IslandTile();

            islandTile.PlayersOnTile = new List <Player>();
            var playerList = new List <Player>();
            List <TreasureCard> treasureCards = new List <TreasureCard>();
            //Act
            var result = canWin.CanWin(islandTile, treasureCards);

            //Assert
            Assert.IsInstanceOfType(result, typeof(ValidationResults));
        }
        public void AllPlayersAtFoolsLanding()
        {
            //Arrange
            var canWin     = new CanWin_AllAtFoolsLanding();
            var islandTile = new IslandTile();

            islandTile.PlayersOnTile = new List <Player>();
            var playerList = new List <Player>();

            var messenger = new Player()
            {
                Name = PlayerConstants.MESSENGER_NAME
            };
            var diver = new Player()
            {
                Name = PlayerConstants.DIVER_NAME
            };
            var explorer = new Player()
            {
                Name = PlayerConstants.EXPLORER_NAME
            };
            var pilot = new Player()
            {
                Name = PlayerConstants.PILOT_NAME
            };

            islandTile.PlayersOnTile.Add(diver);
            islandTile.PlayersOnTile.Add(messenger);
            islandTile.PlayersOnTile.Add(explorer);
            islandTile.PlayersOnTile.Add(pilot);
            List <TreasureCard> treasureCards = new List <TreasureCard>();

            //Act
            var result = canWin.CanWin(islandTile, treasureCards);

            //Assert
            Assert.AreEqual(result.IsValid, true);
            Assert.AreEqual(result.ErrorMessage, null);
        }