示例#1
0
        public void ShouldPlayEveryPossibleMove()
        {
            //Arrange
            var count       = Enum.GetValues(typeof(Move)).Length;
            var player      = new RandomPlayer();
            var playHashSet = new HashSet <Move>(count);

            //Act
            for (var i = 0; i < count * 10 && playHashSet.Count != count; i++)
            {
                var move = player.Play();
                if (!playHashSet.Contains(move))
                {
                    playHashSet.Add(move);
                }
            }

            //Assert
            (playHashSet.Count == count).Should().BeTrue();
        }