public void testOptimisesOpsOnSeparateBlips2() throws OperationException { MergingSequence delta = new MergingSequence(); delta.addAll(Arrays.asList( makeBlipContentOp("a", 1), makeBlipContentOp("a", 2), makeBlipContentOp("b", 3), makeBlipContentOp("b", 4), makeBlipContentOp("b", 5), makeBlipContentOp("a", 6), makeBlipContentOp("a", 7) )); delta.optimise(); assertEquals(3, delta.size()); }
public void testOptimisesDocumentOpsOnSameBlipWithLastTimestamp() throws OperationException { MergingSequence delta = new MergingSequence(); delta.addAll(Arrays.asList( makeBlipContentOp("a", 1), makeBlipContentOp("a", 2), makeBlipContentOp("a", 3) )); delta.optimise(); assertEquals(1, delta.size()); assertTimestamp(3, delta); }
public void testOptimisesDeltasWithNonDocOps() throws OperationException { MergingSequence delta = new MergingSequence(); delta.addAll(Arrays.asList( makeBlipContentOp("a", 2), makeBlipContentOp("a", 1), makeOtherBlipOp("a", 3) )); delta.optimise(); assertEquals(2, delta.size()); }
public void testOptimiseEmptyDoesNothing() { MergingSequence delta = new MergingSequence(); delta.optimise(); assertEquals(0, delta.size()); }
private WaveletOperation makeBlipContentOp(String id, long timestamp) throws OperationException { if (!docs.containsKey(id)) { docs.put(id, DocProviders.POJO.parse("<x></x>")); } Nindo nindo = Nindo.insertCharacters(1, "hi"); DocOp op = docs.get(id).consumeAndReturnInvertible(nindo); return new WaveletBlipOperation(id, new BlipContentOperation(getContext(timestamp), op)); }
public void testOptimiseEmptyDoesNothing() { MergingSequence delta = new MergingSequence(); delta.optimise(); assertEquals(0, delta.size()); }
private WaveletOperation makeBlipContentOp(String id, long timestamp) throws OperationException { if (!docs.containsKey(id)) { docs.put(id, DocProviders.POJO.parse("<x></x>")); } Nindo nindo = Nindo.insertCharacters(1, "hi"); DocOp op = docs.get(id).consumeAndReturnInvertible(nindo); return new WaveletBlipOperation(id, new BlipContentOperation(getContext(timestamp), op)); }
public void testOptimisesOpsOnSeparateBlips2() throws OperationException { MergingSequence delta = new MergingSequence(); delta.addAll(Arrays.asList( makeBlipContentOp("a", 1), makeBlipContentOp("a", 2), makeBlipContentOp("b", 3), makeBlipContentOp("b", 4), makeBlipContentOp("b", 5), makeBlipContentOp("a", 6), makeBlipContentOp("a", 7) )); delta.optimise(); assertEquals(3, delta.size()); }
public void testOptimisesDeltasWithNonDocOps() throws OperationException { MergingSequence delta = new MergingSequence(); delta.addAll(Arrays.asList( makeBlipContentOp("a", 2), makeBlipContentOp("a", 1), makeOtherBlipOp("a", 3) )); delta.optimise(); assertEquals(2, delta.size()); }
public void testOptimisesDocumentOpsOnSameBlipWithLastTimestamp() throws OperationException { MergingSequence delta = new MergingSequence(); delta.addAll(Arrays.asList( makeBlipContentOp("a", 1), makeBlipContentOp("a", 2), makeBlipContentOp("a", 3) )); delta.optimise(); assertEquals(1, delta.size()); assertTimestamp(3, delta); }
private static void assertTimestamp(long timestamp, MergingSequence delta) { assertEquals(timestamp, ((WaveletBlipOperation) delta.get(0)).getBlipOp().getContext().getTimestamp()); }
private WaveletOperation makeOtherBlipOp(String id, long timestamp) { return new WaveletBlipOperation(id, new SubmitBlip(getContext(timestamp))); }
public void testOptimisesOpsOnSeparateBlips1() throws OperationException { MergingSequence delta = new MergingSequence(); delta.addAll(Arrays.asList( makeBlipContentOp("a", 1), makeBlipContentOp("a", 2), makeBlipContentOp("b", 3) )); delta.optimise(); assertEquals(2, delta.size()); }
private static void assertTimestamp(long timestamp, MergingSequence delta) { assertEquals(timestamp, ((WaveletBlipOperation) delta.get(0)).getBlipOp().getContext().getTimestamp()); }
private WaveletOperation makeOtherBlipOp(String id, long timestamp) { return new WaveletBlipOperation(id, new SubmitBlip(getContext(timestamp))); }
public void testOptimisesOpsOnSeparateBlips1() throws OperationException { MergingSequence delta = new MergingSequence(); delta.addAll(Arrays.asList( makeBlipContentOp("a", 1), makeBlipContentOp("a", 2), makeBlipContentOp("b", 3) )); delta.optimise(); assertEquals(2, delta.size()); }
public void testOptimisesDeltasWithNonBlipOps2() throws OperationException { MergingSequence delta = new MergingSequence(); ParticipantId jim = new ParticipantId("jim"); delta.addAll(Arrays.asList( makeBlipContentOp("a", 1), makeBlipContentOp("a", 2), new AddParticipant(new WaveletOperationContext(jim, 5L, 1L), jim), makeBlipContentOp("a", 4), makeBlipContentOp("a", 5) )); delta.optimise(); assertEquals(3, delta.size()); }
public void testOptimisesDeltasWithNonBlipOps2() throws OperationException { MergingSequence delta = new MergingSequence(); ParticipantId jim = new ParticipantId("jim"); delta.addAll(Arrays.asList( makeBlipContentOp("a", 1), makeBlipContentOp("a", 2), new AddParticipant(new WaveletOperationContext(jim, 5L, 1L), jim), makeBlipContentOp("a", 4), makeBlipContentOp("a", 5) )); delta.optimise(); assertEquals(3, delta.size()); }
public void testOptimisesDeltasWithNonBlipOps3() throws OperationException { MergingSequence delta = new MergingSequence(); ParticipantId jim = new ParticipantId("jim"); delta.addAll(Arrays.asList( makeBlipContentOp("a", 1), makeBlipContentOp("a", 2), new AddParticipant(new WaveletOperationContext(jim, 5L, 1L), jim), makeBlipContentOp("b", 4), makeBlipContentOp("b", 5) )); delta.optimise(); assertEquals(3, delta.size()); }
public void testOptimisesDeltasWithNonBlipOps3() throws OperationException { MergingSequence delta = new MergingSequence(); ParticipantId jim = new ParticipantId("jim"); delta.addAll(Arrays.asList( makeBlipContentOp("a", 1), makeBlipContentOp("a", 2), new AddParticipant(new WaveletOperationContext(jim, 5L, 1L), jim), makeBlipContentOp("b", 4), makeBlipContentOp("b", 5) )); delta.optimise(); assertEquals(3, delta.size()); }