public void testGetVersionAfterDeltas() throws Exception { assertEquals(V1, wavelet.getVersionAfterDeltas()); }
public void testgetSnapshotBeforeDeltas() throws Exception { ReadableWaveletData firstSnapshot = wavelet.getSnapshotBeforeDeltas(); assertFalse("The operation to add bob should have been rolled back", firstSnapshot.getParticipants().contains(BOB)); assertTrue("Operations should have been rolled back, together with the version", firstSnapshot.getVersion() == 0); }
public void testgetSnapshotAfterDeltas() throws Exception { ReadableWaveletData latestSnapshot = wavelet.getSnapshotAfterDeltas(); assertNotSame("A copy of the waveletdata must be made", waveletData, latestSnapshot); assertTrue("Bob should be a participant", latestSnapshot.getParticipants().contains(BOB)); assertTrue(latestSnapshot.getVersion() == 1); }
public void testAppendDeltas() throws Exception { addCarolOp.apply(waveletData); HashedVersion hashedVersionTwo = HashedVersion.unsigned(2); TransformedWaveletDelta delta = new TransformedWaveletDelta(ALEX, hashedVersionTwo, 0L, Arrays.asList(addCarolOp)); wavelet.appendDeltas(waveletData, DeltaSequence.of(delta)); ReadableWaveletData firstSnapshot = wavelet.getSnapshotBeforeDeltas(); assertFalse("Bob should not be a participant", firstSnapshot.getParticipants().contains(BOB)); assertEquals(hashedVersionTwo, wavelet.getVersionAfterDeltas()); ReadableWaveletData latestSnapshot = wavelet.getSnapshotAfterDeltas(); assertNotSame("A copy of the waveletdata must be made", waveletData, latestSnapshot); Collection<ParticipantId> participants = Collections.unmodifiableCollection(Arrays.asList(BOB, CAROL)); assertTrue("Bob and Carol should be participating", latestSnapshot.getParticipants().containsAll(participants)); }
public void testNonContiguousDeltas() throws Exception { TransformedWaveletDelta deltaAdd = new TransformedWaveletDelta(ALEX, V1, 0L, Arrays.asList(new NoOp(new WaveletOperationContext(ALEX, 0L, 1, V1)))); TransformedWaveletDelta deltaRemove = new TransformedWaveletDelta(ALEX, V2, 0L, Arrays.asList(new NoOp(new WaveletOperationContext(ALEX, 0L, 1, V2)))); DeltaSequence deltas = DeltaSequence.of(deltaAdd, deltaRemove); try { wavelet.appendDeltas(waveletData, deltas); fail("Expected exception because deltas aren't contiguous"); } catch (IllegalArgumentException e) { // Expected } } }
public void testAppendDeltas() throws Exception { addCarolOp.apply(waveletData); HashedVersion hashedVersionTwo = HashedVersion.unsigned(2); TransformedWaveletDelta delta = new TransformedWaveletDelta(ALEX, hashedVersionTwo, 0L, Arrays.asList(addCarolOp)); wavelet.appendDeltas(waveletData, DeltaSequence.of(delta)); ReadableWaveletData firstSnapshot = wavelet.getSnapshotBeforeDeltas(); assertFalse("Bob should not be a participant", firstSnapshot.getParticipants().contains(BOB)); assertEquals(hashedVersionTwo, wavelet.getVersionAfterDeltas()); ReadableWaveletData latestSnapshot = wavelet.getSnapshotAfterDeltas(); assertNotSame("A copy of the waveletdata must be made", waveletData, latestSnapshot); Collection<ParticipantId> participants = Collections.unmodifiableCollection(Arrays.asList(BOB, CAROL)); assertTrue("Bob and Carol should be participating", latestSnapshot.getParticipants().containsAll(participants)); }
public void testNonContiguousDeltas() throws Exception { TransformedWaveletDelta deltaAdd = new TransformedWaveletDelta(ALEX, V1, 0L, Arrays.asList(new NoOp(new WaveletOperationContext(ALEX, 0L, 1, V1)))); TransformedWaveletDelta deltaRemove = new TransformedWaveletDelta(ALEX, V2, 0L, Arrays.asList(new NoOp(new WaveletOperationContext(ALEX, 0L, 1, V2)))); DeltaSequence deltas = DeltaSequence.of(deltaAdd, deltaRemove); try { wavelet.appendDeltas(waveletData, deltas); fail("Expected exception because deltas aren't contiguous"); } catch (IllegalArgumentException e) { // Expected } } }
public void testgetSnapshotBeforeDeltas() throws Exception { ReadableWaveletData firstSnapshot = wavelet.getSnapshotBeforeDeltas(); assertFalse("The operation to add bob should have been rolled back", firstSnapshot.getParticipants().contains(BOB)); assertTrue("Operations should have been rolled back, together with the version", firstSnapshot.getVersion() == 0); }
public void testgetSnapshotAfterDeltas() throws Exception { ReadableWaveletData latestSnapshot = wavelet.getSnapshotAfterDeltas(); assertNotSame("A copy of the waveletdata must be made", waveletData, latestSnapshot); assertTrue("Bob should be a participant", latestSnapshot.getParticipants().contains(BOB)); assertTrue(latestSnapshot.getVersion() == 1); }
public void testGetVersionAfterDeltas() throws Exception { assertEquals(V1, wavelet.getVersionAfterDeltas()); }