public void resolveParagraphTimeOverlaps() { new TtmlParagraphResolver(mergedItt).resolveTimeOverlaps(); }
@Test public void testParallelParagraphs() { PEltype p1 = TtmlTestUtils.createP("00:00:01:00", "00:00:04:00", "p1"); PEltype p2 = TtmlTestUtils.createP("00:00:01:00", "00:00:04:00", "p2"); TtEltype tt = TtmlTestUtils.wrapPs(p1, p2); new TtmlParagraphResolver(tt).resolveTimeOverlaps(); Iterator<Object> iterator; iterator = tt.getBody().getDiv().get(0).getBlockClass().iterator(); assertEquals("00:00:01:00", TtmlTestUtils.getPBegin(iterator.next())); assertFalse(iterator.hasNext()); iterator = tt.getBody().getDiv().get(0).getBlockClass().iterator(); assertEquals("00:00:04:00", TtmlTestUtils.getPEnd(iterator.next())); iterator = tt.getBody().getDiv().get(0).getBlockClass().iterator(); assertArrayEquals(new Serializable[]{"p1", "p2"}, TtmlTestUtils.getPContent(iterator.next())); }
@Test public void testGapBetweenParagraphs() { PEltype p1 = TtmlTestUtils.createP("00:00:01:00", "00:00:04:00", "p1"); PEltype p2 = TtmlTestUtils.createP("00:00:10:00", "00:00:14:00", "p2"); TtEltype tt = TtmlTestUtils.wrapPs(p1, p2); new TtmlParagraphResolver(tt).resolveTimeOverlaps(); Iterator<Object> iterator; iterator = tt.getBody().getDiv().get(0).getBlockClass().iterator(); assertEquals("00:00:01:00", TtmlTestUtils.getPBegin(iterator.next())); assertEquals("00:00:10:00", TtmlTestUtils.getPBegin(iterator.next())); assertFalse(iterator.hasNext()); iterator = tt.getBody().getDiv().get(0).getBlockClass().iterator(); assertEquals("00:00:04:00", TtmlTestUtils.getPEnd(iterator.next())); assertEquals("00:00:14:00", TtmlTestUtils.getPEnd(iterator.next())); iterator = tt.getBody().getDiv().get(0).getBlockClass().iterator(); assertArrayEquals(new Serializable[]{"p1"}, TtmlTestUtils.getPContent(iterator.next())); assertArrayEquals(new Serializable[]{"p2"}, TtmlTestUtils.getPContent(iterator.next())); }
@Test public void testStuckedParagraphs() { PEltype p1 = TtmlTestUtils.createP("00:00:01:00", "00:00:02:00", "p1"); PEltype p2 = TtmlTestUtils.createP("00:00:02:00", "00:00:03:00", "p2"); PEltype p3 = TtmlTestUtils.createP("00:00:03:00", "00:00:04:00", "p3"); TtEltype tt = TtmlTestUtils.wrapPs(p1, p2, p3); new TtmlParagraphResolver(tt).resolveTimeOverlaps(); Iterator<Object> iterator; iterator = tt.getBody().getDiv().get(0).getBlockClass().iterator(); assertEquals("00:00:01:00", TtmlTestUtils.getPBegin(iterator.next())); assertEquals("00:00:02:00", TtmlTestUtils.getPBegin(iterator.next())); assertEquals("00:00:03:00", TtmlTestUtils.getPBegin(iterator.next())); assertFalse(iterator.hasNext()); iterator = tt.getBody().getDiv().get(0).getBlockClass().iterator(); assertEquals("00:00:02:00", TtmlTestUtils.getPEnd(iterator.next())); assertEquals("00:00:03:00", TtmlTestUtils.getPEnd(iterator.next())); assertEquals("00:00:04:00", TtmlTestUtils.getPEnd(iterator.next())); iterator = tt.getBody().getDiv().get(0).getBlockClass().iterator(); assertArrayEquals(new Serializable[]{"p1"}, TtmlTestUtils.getPContent(iterator.next())); assertArrayEquals(new Serializable[]{"p2"}, TtmlTestUtils.getPContent(iterator.next())); assertArrayEquals(new Serializable[]{"p3"}, TtmlTestUtils.getPContent(iterator.next())); }
@Test public void testNestedParagraphs() { PEltype p1 = TtmlTestUtils.createP("00:00:01:00", "00:00:10:00", "p1"); PEltype p2 = TtmlTestUtils.createP("00:00:03:00", "00:00:08:00", "p2"); PEltype p3 = TtmlTestUtils.createP("00:00:05:00", "00:00:06:00", "p3"); TtEltype tt = TtmlTestUtils.wrapPs(p1, p2, p3); new TtmlParagraphResolver(tt).resolveTimeOverlaps(); Iterator<Object> iterator; iterator = tt.getBody().getDiv().get(0).getBlockClass().iterator(); assertEquals("00:00:01:00", TtmlTestUtils.getPBegin(iterator.next())); assertEquals("00:00:03:00", TtmlTestUtils.getPBegin(iterator.next())); assertEquals("00:00:05:00", TtmlTestUtils.getPBegin(iterator.next())); assertEquals("00:00:06:00", TtmlTestUtils.getPBegin(iterator.next())); assertEquals("00:00:08:00", TtmlTestUtils.getPBegin(iterator.next())); assertFalse(iterator.hasNext()); iterator = tt.getBody().getDiv().get(0).getBlockClass().iterator(); assertEquals("00:00:03:00", TtmlTestUtils.getPEnd(iterator.next())); assertEquals("00:00:05:00", TtmlTestUtils.getPEnd(iterator.next())); assertEquals("00:00:06:00", TtmlTestUtils.getPEnd(iterator.next())); assertEquals("00:00:08:00", TtmlTestUtils.getPEnd(iterator.next())); assertEquals("00:00:10:00", TtmlTestUtils.getPEnd(iterator.next())); iterator = tt.getBody().getDiv().get(0).getBlockClass().iterator(); assertArrayEquals(new Serializable[]{"p1"}, TtmlTestUtils.getPContent(iterator.next())); assertArrayEquals(new Serializable[]{"p1", "p2"}, TtmlTestUtils.getPContent(iterator.next())); assertArrayEquals(new Serializable[]{"p1", "p2", "p3"}, TtmlTestUtils.getPContent(iterator.next())); assertArrayEquals(new Serializable[]{"p1", "p2"}, TtmlTestUtils.getPContent(iterator.next())); assertArrayEquals(new Serializable[]{"p1"}, TtmlTestUtils.getPContent(iterator.next())); }
@Test public void testOverlappedParagraphs() { PEltype p1 = TtmlTestUtils.createP("00:00:01:00", "00:00:03:00", "p1"); PEltype p2 = TtmlTestUtils.createP("00:00:02:00", "00:00:04:00", "p2"); PEltype p3 = TtmlTestUtils.createP("00:00:03:00", "00:00:05:00", "p3"); TtEltype tt = TtmlTestUtils.wrapPs(p1, p2, p3); new TtmlParagraphResolver(tt).resolveTimeOverlaps(); Iterator<Object> iterator; iterator = tt.getBody().getDiv().get(0).getBlockClass().iterator(); assertEquals("00:00:01:00", TtmlTestUtils.getPBegin(iterator.next())); assertEquals("00:00:02:00", TtmlTestUtils.getPBegin(iterator.next())); assertEquals("00:00:03:00", TtmlTestUtils.getPBegin(iterator.next())); assertEquals("00:00:04:00", TtmlTestUtils.getPBegin(iterator.next())); assertFalse(iterator.hasNext()); iterator = tt.getBody().getDiv().get(0).getBlockClass().iterator(); assertEquals("00:00:02:00", TtmlTestUtils.getPEnd(iterator.next())); assertEquals("00:00:03:00", TtmlTestUtils.getPEnd(iterator.next())); assertEquals("00:00:04:00", TtmlTestUtils.getPEnd(iterator.next())); assertEquals("00:00:05:00", TtmlTestUtils.getPEnd(iterator.next())); iterator = tt.getBody().getDiv().get(0).getBlockClass().iterator(); assertArrayEquals(new Serializable[]{"p1"}, TtmlTestUtils.getPContent(iterator.next())); assertArrayEquals(new Serializable[]{"p1", "p2"}, TtmlTestUtils.getPContent(iterator.next())); assertArrayEquals(new Serializable[]{"p2", "p3"}, TtmlTestUtils.getPContent(iterator.next())); assertArrayEquals(new Serializable[]{"p3"}, TtmlTestUtils.getPContent(iterator.next())); }
TtEltype tt = TtmlTestUtils.wrapPs(p1, p2, p3); new TtmlParagraphResolver(tt).resolveTimeOverlaps();