示例#1
0
        public void TestGenerateFood_ColissionsWithEmptyField_2()
        {
            var settings = new SetTest
            {
                GameBoardWidth    = 10,
                GameBoardHeight   = 30,
                GameSpeed         = 40,
                GameScore         = 40.5,
                GamePoints        = 50,
                GameMoveDirection = Direction.Left,
            };

            var generator = new RandomTest();

            generator.genPoints.Add(new Point(3, 1));
            generator.genPoints.Add(new Point(5, 5));
            generator.genPoints.Add(new Point(9, 4));
            var game = new Game(settings, generator);

            game.Start();
            game.Move();
            game.Move();

            Assert.IsNotNull(game.Food);
            Assert.AreEqual(9, game.Food.X);
            Assert.AreEqual(4, game.Food.Y);
        }
示例#2
0
        public void TestEat_EatBigFood_2()
        {
            var settings = new SetTest
            {
                GameBoardWidth    = 10,
                GameBoardHeight   = 30,
                GameSpeed         = 40,
                GameScore         = 0,
                GamePoints        = 50,
                GameMoveDirection = Direction.Left,
            };

            var generator = new RandomTest();

            generator.genPoints.Add(new Point(3, 1));
            generator.genPoints.Add(new Point(8, 9));
            // Food(3,1)
            var game = new Game(settings, generator);

            game.Start();
            Assert.AreEqual(3, game.Food.X);
            Assert.AreEqual(1, game.Food.Y);
            game.Move();
            game.Move();
            Assert.AreEqual(8, game.Food.X);
            Assert.AreEqual(9, game.Food.Y);
        }
示例#3
0
        public void TestMoveCheck_CollisionWithBody()
        {
            var settings = new SetTest
            {
                GameBoardWidth    = 10,
                GameBoardHeight   = 30,
                GameSpeed         = 40,
                GameScore         = 40.5,
                GamePoints        = 50,
                GameMoveDirection = Direction.Left,
            };

            var generator = new RandomTest();

            generator.genPoints.Add(new Point(7, 7));

            var game = new Game(settings, generator);

            game.Start();
            game.Move();
            game.MoveDirection = Direction.Down;
            game.Move();
            game.MoveDirection = Direction.Right;
            game.Move();
            Assert.AreEqual(GameStatus.Completed, game.Status);
        }
示例#4
0
        public void TestMovement_TurnDown()
        {
            var settings = new SetTest
            {
                GameBoardWidth    = 10,
                GameBoardHeight   = 30,
                GameSpeed         = 40,
                GameScore         = 40.5,
                GamePoints        = 50,
                GameMoveDirection = Direction.Left,
            };

            var generator = new RandomTest();

            generator.genPoints.Add(new Point(7, 7));

            var game = new Game(settings, generator);

            game.Start();
            var head = game.Head;

            game.MoveDirection = Direction.Down;
            game.Move();
            Assert.AreEqual(head.X, game.Head.X);
            Assert.AreEqual(head.Y + 1, game.Head.Y);
        }
示例#5
0
        public void TestMovement_CheckTailRemove()
        {
            var settings = new SetTest
            {
                GameBoardWidth    = 10,
                GameBoardHeight   = 30,
                GameSpeed         = 40,
                GameScore         = 40.5,
                GamePoints        = 50,
                GameMoveDirection = Direction.Left,
            };

            var generator = new RandomTest();

            generator.genPoints.Add(new Point(7, 7));

            var game = new Game(settings, generator);

            game.Start();
            game.Move();
            var tail = game.Tail;

            game.Move();
            Assert.AreNotEqual(tail.Y, game.Tail.Y);
            Assert.AreEqual(tail.X, game.Tail.X);
        }
示例#6
0
        public void TestStop_WrongStatus_1()
        {
            var settings = new SetTest
            {
                GameBoardWidth    = 10,
                GameBoardHeight   = 30,
                GameSpeed         = 40,
                GameScore         = 40.5,
                GamePoints        = 50,
                GameMoveDirection = Direction.Left,
            };
            var generator = new RandomTest();

            generator.genPoints.Add(new Point(7, 7));

            var game = new Game(settings, generator);

            game.Stop();
        }
示例#7
0
        public void TestGameScoreGetter()
        {
            var settings = new SetTest
            {
                GameBoardWidth    = 10,
                GameBoardHeight   = 30,
                GameSpeed         = 40,
                GameScore         = 40,
                GamePoints        = 50,
                GameMoveDirection = Direction.Left,
            };
            var generator = new RandomTest();

            generator.genPoints.Add(new Point(7, 7));

            var game = new Game(settings, generator);

            Assert.AreEqual(40, game.Score);
        }
示例#8
0
        public void TestSettingsInit()
        {
            var settings = new SetTest
            {
                GameBoardWidth    = 10,
                GameBoardHeight   = 30,
                GameSpeed         = 40,
                GameScore         = 40.5,
                GamePoints        = 50,
                GameMoveDirection = Direction.Left,
            };
            var generator = new RandomTest
            {
                genPoints = new List <Point>()
            };
            var game = new Game(settings, generator);

            Assert.AreEqual(40, game.Speed);
            Assert.AreEqual(40.5, game.Score);
            Assert.AreEqual(Direction.Left, game.MoveDirection);
        }
示例#9
0
        public void TestGenerateFood_RandomGenerate_Case1()
        {
            var settings = new SetTest
            {
                GameBoardWidth    = 10,
                GameBoardHeight   = 30,
                GameSpeed         = 40,
                GameScore         = 40.5,
                GamePoints        = 50,
                GameMoveDirection = Direction.Left,
            };

            var generator = new RandomTest();

            generator.genPoints.Add(new Point(7, 7));

            var game = new Game(settings, generator);

            game.Start();
            Assert.IsNotNull(game.Food);
        }
示例#10
0
        public void TestGameConstructor()
        {
            var settings = new SetTest
            {
                GameBoardWidth    = 10,
                GameBoardHeight   = 30,
                GameSpeed         = 40,
                GameScore         = 40.5,
                GamePoints        = 50,
                GameMoveDirection = Direction.Left
            };

            var generator = new RandomTest();

            generator.genPoints.Add(new Point(7, 7));

            var game = new Game(settings, generator);

            Assert.IsNotNull(game.Head);
            Assert.AreEqual(GameStatus.ReadyToStart, game.Status);
        }
示例#11
0
        public void TestEat_MaxSpeed()
        {
            var settings = new SetTest
            {
                GameBoardWidth    = 10,
                GameBoardHeight   = 30,
                GameSpeed         = 45,
                GameScore         = 50,
                GamePoints        = 50,
                GameMoveDirection = Direction.Left,
            };

            var generator = new RandomTest();

            generator.genPoints.Add(new Point(8, 9));

            var game = new Game(settings, generator);

            game.Start();
            game.Move();
            Assert.AreEqual(45, game.Speed);
        }
示例#12
0
        public void TestUsualLifecycle()
        {
            var settings = new SetTest
            {
                GameBoardWidth    = 10,
                GameBoardHeight   = 30,
                GameSpeed         = 40,
                GameScore         = 40.5,
                GamePoints        = 50,
                GameMoveDirection = Direction.Left,
            };
            var generator = new RandomTest();

            generator.genPoints.Add(new Point(7, 7));

            var game = new Game(settings, generator);

            Assert.AreEqual(GameStatus.ReadyToStart, game.Status);
            game.Start();
            Assert.AreEqual(GameStatus.InProgress, game.Status);
            game.Stop();
            Assert.AreEqual(GameStatus.Completed, game.Status);
        }