/** * Test method for {@link uk.me.g4dpz.satellite.PassPredictor#nextSatPass(java.util.Date, * boolean)}. */ @Test public final void testNextSatPassWithWindBack() { final TLE tle = new TLE(LEO_TLE); Assert.assertTrue(!tle.isDeepspace()); try { final PassPredictor passPredictor = new PassPredictor(tle, GROUND_STATION); final DateTime cal = new DateTime(DATE_2009_01_05T04_30_00Z); final SatPassTime passTime = passPredictor.nextSatPass(cal.toDate(), true); Assert.assertEquals(DATE_2009_01_05T04_28_10_0000, TZ_FORMAT.format(passTime.getStartTime())); Assert.assertEquals(DATE_2009_01_05T04_32_15_0000, TZ_FORMAT.format(passTime.getEndTime())); Assert.assertEquals(NONE, passTime.getPolePassed()); Assert.assertEquals(52, passTime.getAosAzimuth()); Assert.assertEquals(84, passTime.getLosAzimuth()); Assert.assertEquals(0.9, passTime.getMaxEl(), 0.05); Assert.assertEquals( Long.valueOf(436802379L), passPredictor.getDownlinkFreq(436800000L, passTime.getStartTime())); Assert.assertEquals( Long.valueOf(145800719L), passPredictor.getUplinkFreq(145800000L, passTime.getEndTime())); } catch (final InvalidTleException e) { Assert.fail(INVALID_TLE_EXCEPTION_WAS_THROWN); } catch (final SatNotFoundException snfe) { Assert.fail(SAT_NOT_FOUND_EXCEPTION_WAS_THROWN); } }
/** Test method for {@link uk.me.g4dpz.satellite.PassPredictor#nextSatPass(java.util.Date)}. */ @Test public final void testNextSatPass() { final TLE tle = new TLE(LEO_TLE); Assert.assertTrue(!tle.isDeepspace()); try { final PassPredictor passPredictor = new PassPredictor(tle, GROUND_STATION); final DateTime cal = new DateTime("2009-01-05T00:00:00Z"); SatPassTime passTime = passPredictor.nextSatPass(cal.toDate()); Assert.assertEquals(DATE_2009_01_05T04_28_10_0000, TZ_FORMAT.format(passTime.getStartTime())); Assert.assertEquals(DATE_2009_01_05T04_32_15_0000, TZ_FORMAT.format(passTime.getEndTime())); Assert.assertEquals("2009-01-05T04:30:10+0000", TZ_FORMAT.format(passTime.getTCA())); Assert.assertEquals(NONE, passTime.getPolePassed()); Assert.assertEquals(52, passTime.getAosAzimuth()); Assert.assertEquals(84, passTime.getLosAzimuth()); Assert.assertEquals("0.9", String.format("%3.1f", passTime.getMaxEl())); Assert.assertEquals( Long.valueOf(436802379L), passPredictor.getDownlinkFreq(436800000L, passTime.getStartTime())); Assert.assertEquals( Long.valueOf(145800719L), passPredictor.getUplinkFreq(145800000L, passTime.getEndTime())); passTime = passPredictor.nextSatPass(passTime.getStartTime()); Assert.assertEquals("2009-01-05T06:04:00+0000", TZ_FORMAT.format(passTime.getStartTime())); Assert.assertEquals("2009-01-05T06:18:00+0000", TZ_FORMAT.format(passTime.getEndTime())); Assert.assertEquals(NONE, passTime.getPolePassed()); Assert.assertEquals(22, passTime.getAosAzimuth()); Assert.assertEquals(158, passTime.getLosAzimuth()); Assert.assertEquals(24.42, passTime.getMaxEl(), 0.02); passTime = passPredictor.nextSatPass(passTime.getStartTime()); Assert.assertEquals("2009-01-05T07:42:45+0000", TZ_FORMAT.format(passTime.getStartTime())); Assert.assertEquals("2009-01-05T07:57:50+0000", TZ_FORMAT.format(passTime.getEndTime())); Assert.assertEquals(NORTH, passTime.getPolePassed()); Assert.assertEquals(11, passTime.getAosAzimuth()); Assert.assertEquals(207, passTime.getLosAzimuth()); Assert.assertEquals("62.19", String.format("%5.2f", passTime.getMaxEl())); passTime = passPredictor.nextSatPass(passTime.getStartTime()); Assert.assertEquals("2009-01-05T09:22:05+0000", TZ_FORMAT.format(passTime.getStartTime())); Assert.assertEquals("2009-01-05T09:34:20+0000", TZ_FORMAT.format(passTime.getEndTime())); Assert.assertEquals(NORTH, passTime.getPolePassed()); Assert.assertEquals(4, passTime.getAosAzimuth()); Assert.assertEquals(256, passTime.getLosAzimuth()); Assert.assertEquals(14.3, passTime.getMaxEl(), 0.02); passTime = passPredictor.nextSatPass(passTime.getStartTime()); Assert.assertEquals("2009-01-05T11:02:05+0000", TZ_FORMAT.format(passTime.getStartTime())); Assert.assertEquals("2009-01-05T11:07:35+0000", TZ_FORMAT.format(passTime.getEndTime())); Assert.assertEquals(NONE, passTime.getPolePassed()); Assert.assertEquals(355, passTime.getAosAzimuth()); Assert.assertEquals(312, passTime.getLosAzimuth()); Assert.assertEquals(1.8, passTime.getMaxEl(), 0.05); } catch (final InvalidTleException e) { Assert.fail(INVALID_TLE_EXCEPTION_WAS_THROWN); } catch (final SatNotFoundException snfe) { Assert.fail(SAT_NOT_FOUND_EXCEPTION_WAS_THROWN); } }