@Test
	public void testVORLoop() {
		FakeRadio radio = new FakeRadio();
		VOR vor = new VOR(radio);
		int[] cdis = new int[360];
		for (int i = 0; i < 360; i++) {
			radio.setRadial(i);
			int abeam1 = Utils.normalizeAngle(i + 90);
			int abeam2 = Utils.normalizeAngle(i - 90);
			// Cache expected CDI values for intercepted radial i
			int cdi = 0;
			int x = i;
			int step = -1;
			for (int j = 0; j < 360; j++) {
				cdis[x] = Utils.clamp(cdi, -10, 10);
				if (j == 90 || j == 270) {
					step = -step;
				}
				cdi += step;
				x = Utils.normalizeAngle(x + 1);
			}
			// Loop over desired radial values
			for (int j = 0; j < 360; j++) {
				assertEquals("getOBS works", j, vor.getOBS());
				assertEquals("CDI is calculated properly", cdis[j], vor.getCDI());
				if (j == abeam1 || j == abeam2) {
					assertFalse("abeam is detected properly", vor.isSignalGood());
				}
				assertEquals("To/from is calculated properly", Math.abs(Utils.arc(i, j)) > 90, vor.isGoingTo());
				vor.rotateOBS(1);
			}
		}
	}