private static void assertDeepEquals(WaveletDelta a, WaveletDelta b) { assertEquals(a.getAuthor(), b.getAuthor()); assertEquals(a.size(), b.size()); Iterator<WaveletOperation> aItr = a.iterator(); Iterator<WaveletOperation> bItr = b.iterator(); while(aItr.hasNext()) { assertEquals(aItr.next(), bItr.next()); } }
public void testEmptyDocumentMutation() { assertReversible(makeBlipOp("empty", new DocOpBuilder().build())); }
/** * Assert that an operation is unchanged when serialised then deserialised. * * @param op operation to check */ private static void assertReversible(WaveletOperation op) { // Test both (de)serialising a single operation... assertEquals(op, CoreWaveletOperationSerializer.deserialize( CoreWaveletOperationSerializer.serialize(op), OP_CONTEXT)); List<WaveletOperation> ops = ImmutableList.of(op, op, op); ParticipantId author = new ParticipantId("kalman@google.com"); HashedVersion hashedVersion = HashedVersion.unsigned(0); WaveletDelta delta = new WaveletDelta(author, hashedVersion, ops); ProtocolWaveletDelta serialized = CoreWaveletOperationSerializer.serialize(delta); WaveletDelta deserialized = CoreWaveletOperationSerializer.deserialize(serialized); assertEquals(hashedVersion.getVersion(), serialized.getHashedVersion().getVersion()); assertTrue(Arrays.equals(hashedVersion.getHistoryHash(), serialized.getHashedVersion().getHistoryHash().toByteArray())); assertDeepEquals(delta, deserialized); }
public void testNoOp() { assertReversible(new NoOp(OP_CONTEXT)); }
/** * Assert that an operation is unchanged when serialised then deserialised. * * @param op operation to check */ private static void assertReversible(WaveletOperation op) { // Test both (de)serialising a single operation... assertEquals(op, CoreWaveletOperationSerializer.deserialize( CoreWaveletOperationSerializer.serialize(op), OP_CONTEXT)); List<WaveletOperation> ops = ImmutableList.of(op, op, op); ParticipantId author = new ParticipantId("kalman@google.com"); HashedVersion hashedVersion = HashedVersion.unsigned(0); WaveletDelta delta = new WaveletDelta(author, hashedVersion, ops); ProtocolWaveletDelta serialized = CoreWaveletOperationSerializer.serialize(delta); WaveletDelta deserialized = CoreWaveletOperationSerializer.deserialize(serialized); assertEquals(hashedVersion.getVersion(), serialized.getHashedVersion().getVersion()); assertTrue(Arrays.equals(hashedVersion.getHistoryHash(), serialized.getHashedVersion().getHistoryHash().toByteArray())); assertDeepEquals(delta, deserialized); }
public void testNoOp() { assertReversible(new NoOp(OP_CONTEXT)); }
public void testEmptyDocumentMutation() { assertReversible(makeBlipOp("empty", new DocOpBuilder().build())); }
public void testRemoveParticipant() { assertReversible(new RemoveParticipant(OP_CONTEXT, new ParticipantId("kalman@google.com"))); }
private static void assertDeepEquals(WaveletDelta a, WaveletDelta b) { assertEquals(a.getAuthor(), b.getAuthor()); assertEquals(a.size(), b.size()); Iterator<WaveletOperation> aItr = a.iterator(); Iterator<WaveletOperation> bItr = b.iterator(); while(aItr.hasNext()) { assertEquals(aItr.next(), bItr.next()); } }
public void testSingleCharacters() { DocOpBuilder m = new DocOpBuilder(); m.characters("hello"); assertReversible(makeBlipOp("single", m.build())); }
public void testAddParticipant() { assertReversible(new AddParticipant(OP_CONTEXT, new ParticipantId("kalman@google.com"))); }
public void testSingleCharacters() { DocOpBuilder m = new DocOpBuilder(); m.characters("hello"); assertReversible(makeBlipOp("single", m.build())); }
public void testAddParticipant() { assertReversible(new AddParticipant(OP_CONTEXT, new ParticipantId("kalman@google.com"))); }
public void testEmptyReplaceAttributes() { DocOpBuilder m = new DocOpBuilder(); m.retain(4); m.replaceAttributes(AttributesImpl.EMPTY_MAP, AttributesImpl.EMPTY_MAP); m.retain(4); assertReversible(makeBlipOp("emptyReplaceAttributes", m.build())); }
public void testRemoveParticipant() { assertReversible(new RemoveParticipant(OP_CONTEXT, new ParticipantId("kalman@google.com"))); }
public void testEmptyUpdateAttributes() { DocOpBuilder m = new DocOpBuilder(); m.retain(4); m.updateAttributes(AttributesUpdateImpl.EMPTY_MAP); m.retain(4); assertReversible(makeBlipOp("emptyUpdateAttributes", m.build())); }
public void testEmptyReplaceAttributes() { DocOpBuilder m = new DocOpBuilder(); m.retain(4); m.replaceAttributes(AttributesImpl.EMPTY_MAP, AttributesImpl.EMPTY_MAP); m.retain(4); assertReversible(makeBlipOp("emptyReplaceAttributes", m.build())); }
public void testEmptyUpdateAttributes() { DocOpBuilder m = new DocOpBuilder(); m.retain(4); m.updateAttributes(AttributesUpdateImpl.EMPTY_MAP); m.retain(4); assertReversible(makeBlipOp("emptyUpdateAttributes", m.build())); }
public void testReplaceAttributes() { DocOpBuilder m = new DocOpBuilder(); Attributes oldA = new AttributesImpl(ImmutableMap.of("a1", "1", "a2", "2")); Attributes newA = new AttributesImpl(ImmutableMap.of("a1", "3", "a2", "4")); m.retain(4); m.replaceAttributes(oldA, newA); m.retain(4); assertReversible(makeBlipOp("replaceAttributes", m.build())); }
public void testReplaceAttributes() { DocOpBuilder m = new DocOpBuilder(); Attributes oldA = new AttributesImpl(ImmutableMap.of("a1", "1", "a2", "2")); Attributes newA = new AttributesImpl(ImmutableMap.of("a1", "3", "a2", "4")); m.retain(4); m.replaceAttributes(oldA, newA); m.retain(4); assertReversible(makeBlipOp("replaceAttributes", m.build())); }