示例#1
0
        public void GivenParamsWhenMazeConstructedItCreatesCorrectNumberOfMirrors()
        {
            var mazeParams = new MazeParams()
            {
                Length  = 5,
                Width   = 4,
                Mirrors = new List <MetaPosition>()
                {
                    new MetaPosition(new Position(0, 0), "L"),
                    new MetaPosition(new Position(0, 0), "L"),
                    new MetaPosition(new Position(0, 0), "L"),
                    new MetaPosition(new Position(0, 0), "R"),
                    new MetaPosition(new Position(0, 0), "R"),
                    new MetaPosition(new Position(0, 0), "RL"),
                    new MetaPosition(new Position(0, 0), "RR"),
                    new MetaPosition(new Position(0, 0), "LL"),
                    new MetaPosition(new Position(0, 0), "LR")
                }
            };
            var fakeMirrorFactory = new FakeMirrorFactory();

            var maze = new Maze(mazeParams, fakeMirrorFactory);

            AssertMirrorCount(mazeParams, fakeMirrorFactory);
            AssertSpecialMirrorCounts(fakeMirrorFactory);
        }
        public IHttpActionResult Get(MazeParams value)
        {
            Maze    maze = this.gmModel.GenerateMaze(value.Name, value.Rows, value.Cols);
            JObject jobj = JObject.Parse(maze.ToJSON());

            return(Ok(jobj));
        }
示例#3
0
        public void TestParamsValidation()
        {
            _mazeParams.Height     = 20;
            _mazeParams.Width      = 20;
            _mazeParams.Difficulty = 5;
            _mazeParams.PlayerName = MazeParams.GetRandomVerifiedPlayerName();

            Assert.IsTrue(_mazeParams.IsValid());
        }
示例#4
0
        private Maze CreateMaze(int length, int width, List <MetaPosition> mirrors, MetaPosition laserStart)
        {
            var mazeParams = new MazeParams()
            {
                Length     = length,
                Width      = width,
                Mirrors    = mirrors,
                LaserStart = laserStart
            };
            var mirrorFactory = new MirrorFactory();

            return(new Maze(mazeParams, mirrorFactory));
        }
示例#5
0
        private void AssertMirrorCount(MazeParams mazeParams, FakeMirrorFactory factory)
        {
            var expectedNumberOfMirrors = mazeParams.Length * mazeParams.Width + mazeParams.Mirrors.Count;

            Assert.AreEqual(expectedNumberOfMirrors, factory.MirrorCount);
        }
示例#6
0
 public void SetUp()
 {
     mazeParams = new MazeParams();
 }
示例#7
0
 public void Initializer() => _mazeParams = new MazeParams();
示例#8
0
 public void Initializer()
 {
     _params.Height     = 20;
     _params.Width      = 20;
     _params.PlayerName = MazeParams.GetRandomVerifiedPlayerName();
 }