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()); }
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); }
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()); } } }