示例#1
0
        public void MoveSpider(int x, int y)
        {
            var positionX = CurrentPosition.PostionX + x;
            var positionY = CurrentPosition.PositionY + y;

            if (_wall.CheckRange(positionX, positionY))
            {
                CurrentPosition.PostionX  = positionX;
                CurrentPosition.PositionY = positionY;
            }
        }
示例#2
0
        public void Should_throw_argument_exception_when_spider_is_going_out_of_range()
        {
            //Arrange
            _wall.CheckRange(8, 4).Returns(x => { throw new ArgumentOutOfRangeException(); });
            _spider = new Spider(_wall)
            {
                CurrentDirection = Direction.Right,
                CurrentPosition  = new Postion()
                {
                    PostionX = 6, PositionY = 4
                },
            };

            //Act
            _spider.MoveForward(Direction.Same);
            _spider.MoveForward(Direction.Same);
        }
示例#3
0
        public void TestInitialize()
        {
            _wall = Substitute.For <IWall>();

            _wall.CheckRange(0, 0).ReturnsForAnyArgs(true);
        }