@Override public int firstAnnotationChange(int start, int end, String key, Object fromValue) { return fullAnnotationSet.firstAnnotationChange(start, end, key, fromValue); }
/** * {@inheritDoc} */ public int firstAnnotationChange(int start, int end, String key, String fromValue) { if (Annotations.isLocal(key)) { throw new IllegalArgumentException("Cannot access local annotations"); } return annotations.firstAnnotationChange(start, end, key, fromValue); }
public void testBlank() { RawAnnotationSet<Object> m = getNew(); m.begin(); m.insert(7); m.finish(); assertEquals(-1, m.firstAnnotationChange(0, 7, "hi", null)); assertEquals(-1, m.lastAnnotationChange(0, 7, "hi", null)); assertEquals(-1, m.firstAnnotationChange(1, 6, "hi", null)); assertEquals(-1, m.lastAnnotationChange(1, 6, "hi", null)); }
public void testBlank() { RawAnnotationSet<Object> m = getNew(); m.begin(); m.insert(7); m.finish(); assertEquals(-1, m.firstAnnotationChange(0, 7, "hi", null)); assertEquals(-1, m.lastAnnotationChange(0, 7, "hi", null)); assertEquals(-1, m.firstAnnotationChange(1, 6, "hi", null)); assertEquals(-1, m.lastAnnotationChange(1, 6, "hi", null)); }
public void testOverlappingDuringCreation() { RawAnnotationSet<Object> m = getNew(); // 0-11: {} // 11-31: {a=1} // 31-41: {a=1, b=1} // 41-56: {b=1} // 56-66: {} m.begin(); m.insert(11); m.startAnnotation("a", "1"); m.insert(20); m.startAnnotation("b", "1"); m.insert(10); m.endAnnotation("a"); m.insert(15); m.endAnnotation("b"); m.insert(10); m.finish(); assertEquals(11, m.firstAnnotationChange(0, 66, "a", null)); assertEquals(41, m.firstAnnotationChange(11, 66, "a", "1")); assertEquals(31, m.firstAnnotationChange(0, 66, "b", null)); assertEquals(56, m.firstAnnotationChange(31, 66, "b", "1")); }
public void testAnnotatedInsert() throws OperationException { RawAnnotationSet<Object> m = getNew(); m.begin(); m.insert(20); m.finish(); m.begin(); m.startAnnotation("a", "1"); m.insert(10); m.endAnnotation("a"); m.skip(10); m.startAnnotation("a", "1"); m.insert(10); m.endAnnotation("a"); m.skip(10); m.startAnnotation("a", "1"); m.insert(10); m.endAnnotation("a"); m.finish(); assertEquals(0, m.firstAnnotationChange(0, 50, "a", null)); assertEquals(10, m.firstAnnotationChange(0, 50, "a", "1")); assertEquals(20, m.firstAnnotationChange(10, 50, "a", null)); assertEquals(30, m.firstAnnotationChange(20, 50, "a", "1")); assertEquals(40, m.firstAnnotationChange(30, 50, "a", null)); assertEquals(-1, m.firstAnnotationChange(40, 50, "a", "1")); }
public void testTwoInserts() { RawAnnotationSet<Object> m = getNew(); m.begin(); m.insert(1); m.insert(1); m.finish(); assertEquals(-1, m.firstAnnotationChange(0, 2, "hi", null)); }
public void testAnnotatedInsert() throws OperationException { RawAnnotationSet<Object> m = getNew(); m.begin(); m.insert(20); m.finish(); m.begin(); m.startAnnotation("a", "1"); m.insert(10); m.endAnnotation("a"); m.skip(10); m.startAnnotation("a", "1"); m.insert(10); m.endAnnotation("a"); m.skip(10); m.startAnnotation("a", "1"); m.insert(10); m.endAnnotation("a"); m.finish(); assertEquals(0, m.firstAnnotationChange(0, 50, "a", null)); assertEquals(10, m.firstAnnotationChange(0, 50, "a", "1")); assertEquals(20, m.firstAnnotationChange(10, 50, "a", null)); assertEquals(30, m.firstAnnotationChange(20, 50, "a", "1")); assertEquals(40, m.firstAnnotationChange(30, 50, "a", null)); assertEquals(-1, m.firstAnnotationChange(40, 50, "a", "1")); }
public void testOverlappingDuringCreation() { RawAnnotationSet<Object> m = getNew(); // 0-11: {} // 11-31: {a=1} // 31-41: {a=1, b=1} // 41-56: {b=1} // 56-66: {} m.begin(); m.insert(11); m.startAnnotation("a", "1"); m.insert(20); m.startAnnotation("b", "1"); m.insert(10); m.endAnnotation("a"); m.insert(15); m.endAnnotation("b"); m.insert(10); m.finish(); assertEquals(11, m.firstAnnotationChange(0, 66, "a", null)); assertEquals(41, m.firstAnnotationChange(11, 66, "a", "1")); assertEquals(31, m.firstAnnotationChange(0, 66, "b", null)); assertEquals(56, m.firstAnnotationChange(31, 66, "b", "1")); }
public void testCreateWithFinalAnnotation() { RawAnnotationSet<Object> m = getNew(); m.begin(); m.insert(5); m.startAnnotation("a", "1"); m.insert(10); m.endAnnotation("a"); m.finish(); assertEquals(5, m.firstAnnotationChange(5, 15, "a", null)); assertEquals(15, m.lastAnnotationChange(5, 15, "a", null)); assertEquals(5, m.firstAnnotationChange(0, 15, "a", null)); assertEquals(15, m.lastAnnotationChange(0, 15, "a", null)); assertEquals(-1, m.firstAnnotationChange(5, 15, "a", "1")); assertEquals(-1, m.lastAnnotationChange(5, 15, "a", "1")); }
public void testCreateWithSpanningAnnotation() { RawAnnotationSet<Object> m = getNew(); m.begin(); m.startAnnotation("a", "1"); m.insert(10); m.endAnnotation("a"); m.finish(); assertEquals(0, m.firstAnnotationChange(0, 10, "a", null)); assertEquals(10, m.lastAnnotationChange(0, 10, "a", null)); assertEquals(-1, m.firstAnnotationChange(0, 10, "a", "1")); assertEquals(-1, m.lastAnnotationChange(0, 10, "a", "1")); }
public void testTwoInserts() { RawAnnotationSet<Object> m = getNew(); m.begin(); m.insert(1); m.insert(1); m.finish(); assertEquals(-1, m.firstAnnotationChange(0, 2, "hi", null)); }
public void testCreateWithInitialAnnotation() { RawAnnotationSet<Object> m = getNew(); m.begin(); m.startAnnotation("a", "1"); m.insert(10); m.endAnnotation("a"); m.insert(5); m.finish(); assertEquals(0, m.firstAnnotationChange(0, 10, "a", null)); assertEquals(10, m.lastAnnotationChange(0, 10, "a", null)); assertEquals(0, m.firstAnnotationChange(0, 15, "a", null)); assertEquals(10, m.lastAnnotationChange(0, 15, "a", null)); assertEquals(-1, m.firstAnnotationChange(0, 10, "a", "1")); assertEquals(-1, m.lastAnnotationChange(0, 10, "a", "1")); }
public void testCreateWithFinalAnnotation() { RawAnnotationSet<Object> m = getNew(); m.begin(); m.insert(5); m.startAnnotation("a", "1"); m.insert(10); m.endAnnotation("a"); m.finish(); assertEquals(5, m.firstAnnotationChange(5, 15, "a", null)); assertEquals(15, m.lastAnnotationChange(5, 15, "a", null)); assertEquals(5, m.firstAnnotationChange(0, 15, "a", null)); assertEquals(15, m.lastAnnotationChange(0, 15, "a", null)); assertEquals(-1, m.firstAnnotationChange(5, 15, "a", "1")); assertEquals(-1, m.lastAnnotationChange(5, 15, "a", "1")); }
public void testCreateWithSpanningAnnotation() { RawAnnotationSet<Object> m = getNew(); m.begin(); m.startAnnotation("a", "1"); m.insert(10); m.endAnnotation("a"); m.finish(); assertEquals(0, m.firstAnnotationChange(0, 10, "a", null)); assertEquals(10, m.lastAnnotationChange(0, 10, "a", null)); assertEquals(-1, m.firstAnnotationChange(0, 10, "a", "1")); assertEquals(-1, m.lastAnnotationChange(0, 10, "a", "1")); }
public void testOverlappingInOneGo() throws OperationException { RawAnnotationSet<Object> m = getNew(); m.begin(); m.insert(100); m.finish(); m.begin(); m.skip(11); m.startAnnotation("a", "1"); m.skip(20); m.startAnnotation("b", "1"); m.skip(10); m.endAnnotation("a"); m.skip(15); m.endAnnotation("b"); m.finish(); // 0-11: {} // 11-31: {a=1} // 31-41: {a=1, b=1} // 31-56: {b=1} // 56-100: {} assertEquals(11, m.firstAnnotationChange(0, 100, "a", null)); assertEquals(41, m.firstAnnotationChange(11, 100, "a", "1")); assertEquals(31, m.firstAnnotationChange(0, 100, "b", null)); assertEquals(56, m.firstAnnotationChange(31, 100, "b", "1")); }
public void testCreateWithInitialAnnotation() { RawAnnotationSet<Object> m = getNew(); m.begin(); m.startAnnotation("a", "1"); m.insert(10); m.endAnnotation("a"); m.insert(5); m.finish(); assertEquals(0, m.firstAnnotationChange(0, 10, "a", null)); assertEquals(10, m.lastAnnotationChange(0, 10, "a", null)); assertEquals(0, m.firstAnnotationChange(0, 15, "a", null)); assertEquals(10, m.lastAnnotationChange(0, 15, "a", null)); assertEquals(-1, m.firstAnnotationChange(0, 10, "a", "1")); assertEquals(-1, m.lastAnnotationChange(0, 10, "a", "1")); }
public void testOverlappingInOneGo() throws OperationException { RawAnnotationSet<Object> m = getNew(); m.begin(); m.insert(100); m.finish(); m.begin(); m.skip(11); m.startAnnotation("a", "1"); m.skip(20); m.startAnnotation("b", "1"); m.skip(10); m.endAnnotation("a"); m.skip(15); m.endAnnotation("b"); m.finish(); // 0-11: {} // 11-31: {a=1} // 31-41: {a=1, b=1} // 31-56: {b=1} // 56-100: {} assertEquals(11, m.firstAnnotationChange(0, 100, "a", null)); assertEquals(41, m.firstAnnotationChange(11, 100, "a", "1")); assertEquals(31, m.firstAnnotationChange(0, 100, "b", null)); assertEquals(56, m.firstAnnotationChange(31, 100, "b", "1")); }
public void testOverlappingFromSeparateModifications() throws OperationException { RawAnnotationSet<Object> m = getNew(); m.begin(); m.insert(100); m.finish(); m.begin(); m.skip(11); m.startAnnotation("a", "1"); m.skip(20); m.skip(10); m.endAnnotation("a"); m.skip(15); m.finish(); m.begin(); m.skip(11); m.skip(20); m.startAnnotation("b", "1"); m.skip(10); m.skip(15); m.endAnnotation("b"); m.finish(); assertEquals(11, m.firstAnnotationChange(0, 100, "a", null)); assertEquals(41, m.firstAnnotationChange(11, 100, "a", "1")); assertEquals(31, m.firstAnnotationChange(0, 100, "b", null)); assertEquals(56, m.firstAnnotationChange(31, 100, "b", "1")); }
public void testOverlappingFromSeparateModifications() throws OperationException { RawAnnotationSet<Object> m = getNew(); m.begin(); m.insert(100); m.finish(); m.begin(); m.skip(11); m.startAnnotation("a", "1"); m.skip(20); m.skip(10); m.endAnnotation("a"); m.skip(15); m.finish(); m.begin(); m.skip(11); m.skip(20); m.startAnnotation("b", "1"); m.skip(10); m.skip(15); m.endAnnotation("b"); m.finish(); assertEquals(11, m.firstAnnotationChange(0, 100, "a", null)); assertEquals(41, m.firstAnnotationChange(11, 100, "a", "1")); assertEquals(31, m.firstAnnotationChange(0, 100, "b", null)); assertEquals(56, m.firstAnnotationChange(31, 100, "b", "1")); }