@Override public void onRoundStarted(final RoundStartedEvent event) { super.onRoundStarted(event); IRobotSnapshot rate = event.getStartSnapshot().getRobots()[0]; originalHeading = rate.getBodyHeading(); originalX = rate.getX(); }
public void trim(List<IRobotSnapshot> robots) { // new ArrayList in order to prevent ConcurrentModificationException for (String name : new ArrayList<String>(robotDialogMap.keySet())) { boolean found = false; for (IRobotSnapshot robot : robots) { if (robot.getName().equals(name)) { found = true; break; } } if (!found) { RobotDialog dialog = robotDialogMap.get(name); robotDialogMap.remove(name); dialog.dispose(); dialog.detach(); } } }
@Override public void onTurnEnded(TurnEndedEvent event) { super.onTurnEnded(event); lastTurn = event.getTurnSnapshot().getTurn(); // System.out.println(event.getTurnSnapshot().getTurn()); IRobotSnapshot crazy = event.getTurnSnapshot().getRobots()[0]; IRobotSnapshot target = event.getTurnSnapshot().getRobots()[1]; if (lastTurn == 1) { Assert.assertNear(565.4354411, crazy.getX()); Assert.assertNear(164.5709508, crazy.getY()); Assert.assertNear(436.3146436, target.getX()); Assert.assertNear(350.7235444, target.getY()); } if (lastTurn == 1700) { Assert.assertNear(38.69810137, crazy.getX()); Assert.assertNear(214.9945902, crazy.getY()); Assert.assertNear(339.9178023, target.getX()); Assert.assertNear(455.7698379, target.getY()); } }
public void purge(List<IRobotSnapshot> robots) { // new ArrayList in order to prevent ConcurrentModificationException for (String name : new ArrayList<String>(robotDialogMap.keySet())) { boolean found = false; boolean dead = false; for (IRobotSnapshot robot : robots) { if (robot.getName().equals(name)) { found = true; if (robot.getState().isDead()) { dead = true; } break; } } if (!found || dead) { RobotDialog dialog = robotDialogMap.get(name); System.out.println("purging " + name); robotDialogMap.remove(name); dialog.dispose(); dialog.detach(); } } }
@Override public void onRoundStarted(final RoundStartedEvent event) { super.onRoundStarted(event); if (event.getRound() == 0) { IRobotSnapshot crazy = event.getStartSnapshot().getRobots()[0]; IRobotSnapshot target = event.getStartSnapshot().getRobots()[1]; Assert.assertNear(566.2968069, crazy.getX()); Assert.assertNear(165.0789361, crazy.getY()); Assert.assertNear(436.3146436, target.getX()); Assert.assertNear(350.7235444, target.getY()); } }
@Override public void onTurnEnded(TurnEndedEvent event) { super.onTurnEnded(event); turnNumber = event.getTurnSnapshot().getTurn(); IRobotSnapshot rate = event.getTurnSnapshot().getRobots()[0]; // Test turnRate if (turnNumber == 10) { Assert.assertNear(Math.PI / 4, normalRelativeAngle(rate.getBodyHeading() - originalHeading)); } if (turnNumber == 20) { Assert.assertNear(-Math.PI / 4, normalRelativeAngle(rate.getBodyHeading() - originalHeading)); } if (turnNumber == 25) { // Test that turnRate was set to zero Assert.assertNear(-Math.PI / 4, normalRelativeAngle(rate.getBodyHeading() - originalHeading)); // Test velocityRate double theta = rate.getBodyHeading(); double deltaX = rate.getX() - originalX; double distanceTravelled = deltaX / Math.sin(theta); Assert.assertNear(9, distanceTravelled); } if (turnNumber == 35) { double theta = rate.getBodyHeading(); double deltaX = rate.getX() - originalX; double distanceTravelled = deltaX / Math.sin(theta); Assert.assertNear(-35, distanceTravelled); originalGunHeading = rate.getGunHeading(); } if (turnNumber == 45) { // Test that velocityRate was set to zero double theta = rate.getBodyHeading(); double deltaX = rate.getX() - originalX; double distanceTravelled = deltaX / Math.sin(theta); Assert.assertNear(-47, distanceTravelled); // test gunRotationRate Assert.assertNear( Math.PI / 2, normalRelativeAngle(rate.getGunHeading() - originalGunHeading)); } if (turnNumber == 55) { Assert.assertNear( Math.PI / 4, normalRelativeAngle(rate.getGunHeading() - originalGunHeading)); originalRadarHeading = rate.getRadarHeading(); } if (turnNumber == 65) { // test that gunRotationRate was set to zero Assert.assertNear( Math.PI / 4, normalRelativeAngle(rate.getGunHeading() - originalGunHeading)); // test radarRotationRate Assert.assertNear( Math.PI / 2, normalRelativeAngle(rate.getRadarHeading() - originalRadarHeading)); } if (turnNumber == 75) { Assert.assertNear( Math.PI / 4, normalRelativeAngle(rate.getRadarHeading() - originalRadarHeading)); } if (turnNumber == 76) { // test that radarRotationRate was set to zero Assert.assertNear( Math.PI / 4, normalRelativeAngle(rate.getRadarHeading() - originalRadarHeading)); } }
private void test(IRobotSnapshot gh, String s) { Assert.assertTrue( gh.getOutputStreamSnapshot() + " expected " + s, gh.getOutputStreamSnapshot().contains("after fire: " + s)); }
private void test(IRobotSnapshot gh, String s) { Assert.assertTrue( "got: " + gh.getOutputStreamSnapshot() + ", expected: " + s, gh.getOutputStreamSnapshot().contains(s)); }