@Test(groups = "fast") public void testTimeCursorThatShowedError() throws Exception { // 39 bytes are: ff4f90f67afd03ce1e1ffe1a1e1d01fe771e1d01fd01df1e1d1ffe761e1d01fe771e1d01fe571e // 1944 samples; error at 1934 final int sampleCount = 1944; //final byte[] times = Hex.decodeHex("ff4f90f67afd03ce1e1ffe1a1e1d01fe771e1d01fd01df1e1d1ffe761e1d01fe771e1d01fe571e".toCharArray()); final byte[] times = Hex.decodeHex("00000018FF4F8FE521FD023D1E1FFEF01E1D01FE771E1D01FD03E21EFE07980F".toCharArray()); Assert.assertEquals(times.length, 32); final DefaultTimelineCursor cursor = new DefaultTimelineCursor(times, sampleCount); for (int i = 0; i < sampleCount; i++) { final DateTime nextTime = cursor.getNextTime(); Assert.assertNotNull(nextTime); cursor.skipToSampleNumber(i + 1); } try { final DateTime lastTime = cursor.getNextTime(); Assert.fail(); } catch (Exception e) { Assert.assertTrue(true); } }
@Test(groups = "fast") public void testTimeCursorWithZeroDeltaWithSampleSkip() throws Exception { // This caused a TimeCursor problem // FF 4F 91 D5 BC FE 02 1E 00 FE 02 1E FF 79 0B 44 22 // FF 4F 91 D5 BC FE 02 1E 00 FE 02 1E // FF 4F 91 D5 BC Absolute time // FE 02 1E Repeated delta time: count 2, delta: 30 // 00 Delta 0. Why did this happen? // FE 02 1E Repeated delta time: count 2, delta: 30 // FF 79 0B 44 22 Absolute time // Total samples: 6 final int sampleCount = 7; final byte[] times = Hex.decodeHex("FF4F91D5BCFE021E00FE021EFF790B4422".toCharArray()); final DefaultTimelineCursor cursor = new DefaultTimelineCursor(times, sampleCount); for (int i = 0; i < sampleCount; i++) { final DateTime nextTime = cursor.getNextTime(); Assert.assertNotNull(nextTime); cursor.skipToSampleNumber(i + 1); } try { final DateTime lastTime = cursor.getNextTime(); Assert.fail(); } catch (Exception e) { Assert.assertTrue(true); } }