Beispiel #1
0
        public void RobotGotMagnet()
        {
            int            size          = 7;
            Position       robotpos      = new Position(1, 1);
            ulong          time          = 0;
            RobotDirection robotdir      = RobotDirection.UP;
            FieldType      fieldOnBot    = FieldType.NO_WALL;
            int            timeleftcrazy = 8;

            CrazyBotInfo  gameInfo  = new CrazyBotInfo(size, robotpos, time, robotdir, fieldOnBot, timeleftcrazy);
            CrazyBotModel gameModel = new CrazyBotModel();

            gameModel.newGame(7, gameInfo);
            Assert.AreEqual(gameModel.getSize(), 7);
            Assert.AreEqual(gameInfo.size, 7);
            gameModel.AdvanceTime(this, new System.EventArgs());

            Assert.IsTrue(gameModel.isInGame());
            gameInfo.robot = new Position(size / 2, (size / 2) + 1);
            gameModel.AdvanceTime(this, new System.EventArgs());
            Assert.IsFalse(gameModel.isInGame());

            //11
            size      = 11;
            gameInfo  = new CrazyBotInfo(size, robotpos, time, robotdir, fieldOnBot, timeleftcrazy);
            gameModel = new CrazyBotModel();
            gameModel.newGame(size, gameInfo);
            Assert.AreEqual(gameModel.getSize(), 11);
            Assert.AreEqual(gameInfo.size, 11);
            gameModel.AdvanceTime(this, new System.EventArgs());

            Assert.IsTrue(gameModel.isInGame());
            gameInfo.robot = new Position(size / 2, (size / 2) + 1);
            gameModel.AdvanceTime(this, new System.EventArgs());
            Assert.IsFalse(gameModel.isInGame());

            //15
            size      = 15;
            gameInfo  = new CrazyBotInfo(size, robotpos, time, robotdir, fieldOnBot, timeleftcrazy);
            gameModel = new CrazyBotModel();
            gameModel.newGame(size, gameInfo);
            Assert.AreEqual(gameModel.getSize(), 15);
            Assert.AreEqual(gameInfo.size, 15);
            gameModel.AdvanceTime(this, new System.EventArgs());

            Assert.IsTrue(gameModel.isInGame());
            gameInfo.robot = new Position(size / 2, (size / 2) + 1);
            gameModel.AdvanceTime(this, new System.EventArgs());
            Assert.IsFalse(gameModel.isInGame());
        }
Beispiel #2
0
        public void RobotRandomChange()
        {
            int            size          = 7;
            Position       robotpos      = new Position(1, 1);
            ulong          time          = 0;
            RobotDirection robotdir      = RobotDirection.UP;
            FieldType      fieldOnBot    = FieldType.NO_WALL;
            int            timeleftcrazy = 2;

            CrazyBotInfo  gameInfo  = new CrazyBotInfo(size, robotpos, time, robotdir, fieldOnBot, timeleftcrazy);
            CrazyBotModel gameModel = new CrazyBotModel();

            gameModel.newGame(7, gameInfo);
            Assert.AreEqual(gameModel.getSize(), 7);
            Assert.AreEqual(gameInfo.size, 7);
            gameModel.AdvanceTime(this, new System.EventArgs());

            Assert.IsTrue(gameModel.isInGame());
            RobotDirection prev = gameInfo.robotDir;

            Assert.AreEqual(gameInfo.robotDir, prev);

            gameModel.AdvanceTime(this, new System.EventArgs());
            gameModel.AdvanceTime(this, new System.EventArgs());

            Assert.AreNotEqual(gameInfo.robotDir, prev);
        }
Beispiel #3
0
        public void ConstructorCheck()
        {
            int            size          = 7;
            Position       robotpos      = new Position(1, 1);
            ulong          time          = 0;
            RobotDirection robotdir      = RobotDirection.UP;
            FieldType      fieldOnBot    = FieldType.NO_WALL;
            int            timeleftcrazy = 8;

            CrazyBotInfo  gameInfo  = new CrazyBotInfo(size, robotpos, time, robotdir, fieldOnBot, timeleftcrazy);
            CrazyBotModel gameModel = new CrazyBotModel();

            gameModel.newGame(7, gameInfo);
            Assert.AreEqual(gameModel.getRobotPos(), gameInfo.robot);
            Assert.AreEqual(gameModel.getSize(), 7);
            Assert.AreEqual(gameInfo.size, 7);

            CrazyBotInfo gameInfo11 = new CrazyBotInfo(11, robotpos, time, robotdir, fieldOnBot, timeleftcrazy);

            gameModel.newGame(11, gameInfo11);
            Assert.AreEqual(gameModel.getRobotPos(), gameInfo11.robot);
            Assert.AreEqual(gameModel.getSize(), 11);
            Assert.AreEqual(gameInfo11.size, 11);

            for (int i = 0; i < 10; i++)
            {
                int prev = gameModel.getTime();
                gameModel.AdvanceTime(this, new System.EventArgs());
                if (gameModel.isInGame())
                {
                    Assert.IsTrue(prev < gameModel.getTime());
                }
            }
        }