).run();
// client's annotation overlaps server's annotation
new TestParameters(
DocOpCreator.setAnnotation(20, 2, 6, "hello", "initial", "world"),
DocOpCreator.setAnnotation(20, 5, 9, "hello", "initial", "there"),
new DocOpBuilder()
.retain(2)
.annotationBoundary(beginAnnotation("hello", "initial", "world"))
.retain(3)
.annotationBoundary(beginAnnotation("hello", "there", "world"))
.retain(1)
.annotationBoundary(finishAnnotation("hello"))
.retain(14)
.build(),
DocOpCreator.setAnnotation(20, 6, 9, "hello", "initial", "there")
).run();
// client's annotation overlaps server's annotation
new TestParameters(
DocOpCreator.setAnnotation(20, 5, 9, "hello", "initial", "world"),
DocOpCreator.setAnnotation(20, 2, 6, "hello", "initial", "there"),
new DocOpBuilder()
.retain(5)
.annotationBoundary(beginAnnotation("hello", "there", "world"))
.retain(1)
.annotationBoundary(beginAnnotation("hello", "initial", "world"))
.retain(3)
.annotationBoundary(finishAnnotation("hello"))
.retain(11)
.build(),
DocOpCreator.setAnnotation(20, 2, 5, "hello", "initial", "there")
).run();
// client's annotation encloses server's annotation
new TestParameters(
DocOpCreator.setAnnotation(20, 2, 9, "hello", "initial", "world"),
DocOpCreator.setAnnotation(20, 5, 7, "hello", "initial", "there"),
new DocOpBuilder()
.retain(2)
.annotationBoundary(beginAnnotation("hello", "initial", "world"))
.retain(3)
.annotationBoundary(beginAnnotation("hello", "there", "world"))
.retain(2)
.annotationBoundary(beginAnnotation("hello", "initial", "world"))
.retain(2)
.annotationBoundary(finishAnnotation("hello"))
.retain(11)
.build(),
DocOpCreator.identity(20)
).run();
// client's annotation inside server's annotation
new TestParameters(
DocOpCreator.setAnnotation(20, 5, 7, "hello", "initial", "world"),
DocOpCreator.setAnnotation(20, 2, 9, "hello", "initial", "there"),
DocOpCreator.setAnnotation(20, 5, 7, "hello", "there", "world"),
new DocOpBuilder()
.retain(2)
.annotationBoundary(beginAnnotation("hello", "initial", "there"))
.retain(3)
.annotationBoundary(finishAnnotation("hello"))
.retain(2)
.annotationBoundary(beginAnnotation("hello", "initial", "there"))
.retain(2)
.annotationBoundary(finishAnnotation("hello"))
.retain(11)
.build()
).run();
// client's annotation overlaps server's incontiguous annotation
new TestParameters(
DocOpCreator.setAnnotation(20, 4, 8, "hello", "initial", "world"),
new DocOpBuilder()
.retain(2)
.annotationBoundary(beginAnnotation("hello", "initial", "there"))
.retain(3)
.annotationBoundary(finishAnnotation("hello"))
.retain(2)
.annotationBoundary(beginAnnotation("hello", "initial", "there"))
.retain(2)
.annotationBoundary(finishAnnotation("hello"))
.retain(11)
.build(),
new DocOpBuilder()
.retain(4)
.annotationBoundary(beginAnnotation("hello", "there", "world"))
.retain(1)
.annotationBoundary(beginAnnotation("hello", "initial", "world"))
.retain(2)
.annotationBoundary(beginAnnotation("hello", "there", "world"))
.retain(1)
.annotationBoundary(finishAnnotation("hello"))
.retain(12)
.build(),
new DocOpBuilder()
.retain(2)
.annotationBoundary(beginAnnotation("hello", "initial", "there"))
.retain(2)
.annotationBoundary(finishAnnotation("hello"))
.retain(4)
.annotationBoundary(beginAnnotation("hello", "initial", "there"))
.retain(1)
.annotationBoundary(finishAnnotation("hello"))
.retain(11)
.build()
).run();
// client's incontiguous annotation overlaps server's annotation
new TestParameters(
new DocOpBuilder()
.retain(2)
.annotationBoundary(beginAnnotation("hello", "initial", "world"))
.retain(3)
.annotationBoundary(finishAnnotation("hello"))
.retain(2)
.annotationBoundary(beginAnnotation("hello", "initial", "world"))
.retain(2)
.annotationBoundary(finishAnnotation("hello"))
.retain(11)
.build(),
DocOpCreator.setAnnotation(20, 4, 8, "hello", "initial", "there"),
new DocOpBuilder()
.retain(2)
.annotationBoundary(beginAnnotation("hello", "initial", "world"))
.retain(2)
.annotationBoundary(beginAnnotation("hello", "there", "world"))
.retain(1)