Example #1
0
        public void Lizard_Decapitated_By_Scissors()
        {
            var playerOne = new Player(PlayerNumber.PlayerOne, GestureType.Lizard);
            var playerTwo = new Player(PlayerNumber.PlayerTwo, GestureType.Scissors);

            PlayerNumber outcome;

            var eng = new EngageComponent();

            var result = eng.TryEngage(playerOne, playerTwo, out outcome);

            Assert.True(result);
            Assert.Equal(outcome, PlayerNumber.PlayerTwo);
        }
Example #2
0
        public void Lizard_Poisons_Spock()
        {
            var playerOne = new Player(PlayerNumber.PlayerOne, GestureType.Lizard);
            var playerTwo = new Player(PlayerNumber.PlayerTwo, GestureType.Spock);

            PlayerNumber outcome;

            var eng = new EngageComponent();

            var result = eng.TryEngage(playerOne, playerTwo, out outcome);

            Assert.True(result);
            Assert.Equal(outcome, PlayerNumber.PlayerOne);
        }
Example #3
0
        public void Not_Implemented()
        {
            var playerOne = new Player(PlayerNumber.PlayerOne, GestureType.Empty);
            var playerTwo = new Player(PlayerNumber.PlayerTwo, GestureType.Scissors);

            PlayerNumber outcome;

            var eng = new EngageComponent();

            Assert.Throws<NotImplementedException>(delegate
            {
                eng.TryEngage(playerOne, playerTwo, out outcome);
            });
        }
Example #4
0
        public void Tie()
        {
            var playerOne = new Player(PlayerNumber.PlayerOne, GestureType.Scissors);
            var playerTwo = new Player(PlayerNumber.PlayerTwo, GestureType.Scissors);

            PlayerNumber outcome;

            var eng = new EngageComponent();

            var result = eng.TryEngage(playerOne, playerTwo, out outcome);

            Assert.False(result);
        }
Example #5
0
        public void Spock_Smashes_Scissors()
        {
            var playerOne = new Player(PlayerNumber.PlayerOne, GestureType.Spock);
            var playerTwo = new Player(PlayerNumber.PlayerTwo, GestureType.Scissors);

            PlayerNumber outcome;

            var eng = new EngageComponent();

            var result = eng.TryEngage(playerOne, playerTwo, out outcome);

            Assert.True(result);
            Assert.Equal(outcome, PlayerNumber.PlayerOne);
        }
Example #6
0
        public void Spock_Disaproved_By_Paper()
        {
            var playerOne = new Player(PlayerNumber.PlayerOne, GestureType.Spock);
            var playerTwo = new Player(PlayerNumber.PlayerTwo, GestureType.Paper);

            PlayerNumber outcome;

            var eng = new EngageComponent();

            var result = eng.TryEngage(playerOne, playerTwo, out outcome);

            Assert.True(result);
            Assert.Equal(outcome, PlayerNumber.PlayerTwo);
        }
Example #7
0
        public void RandomGesture()
        {
            var eng = new EngageComponent();
            var result = eng.RandomGesture();

            Assert.Contains<GestureType>(result, Enum.GetValues(typeof(GestureType)).Cast<GestureType>());
        }
Example #8
0
        public void Paper_Cut_By_Scissor()
        {
            var playerOne = new Player(PlayerNumber.PlayerOne, GestureType.Paper);
            var playerTwo = new Player(PlayerNumber.PlayerTwo, GestureType.Scissors);

            PlayerNumber outcome;

            var eng = new EngageComponent();

            var result = eng.TryEngage(playerOne, playerTwo, out outcome);

            Assert.True(result);
            Assert.Equal(outcome, PlayerNumber.PlayerTwo);
        }