public void testDeltaHistoryRequiresCorrectHash() throws Exception { appendDeltas(d1); // Wrong start hash. assertNull( target.getTransformedDeltaHistory(HashedVersion.unsigned(0), d1.getResultingVersion())); assertNull(target.getAppliedDeltaHistory(HashedVersion.unsigned(0), d1.getResultingVersion())); // Wrong end hash. assertNull( target.getTransformedDeltaHistory( V0, HashedVersion.unsigned(d1.getResultingVersion().getVersion()))); assertNull( target.getAppliedDeltaHistory( V0, HashedVersion.unsigned(d1.getResultingVersion().getVersion()))); }
public void testSingleDeltaHistoryAccessible() throws Exception { appendDeltas(d1); DeltaSequence transformedHistory = target.getTransformedDeltaHistory(V0, d1.getResultingVersion()); assertNotNull(transformedHistory); assertEquals(1, transformedHistory.size()); assertEquals(d1.transformed, transformedHistory.get(0)); Collection<ByteStringMessage<ProtocolAppliedWaveletDelta>> appliedHistory = target.getAppliedDeltaHistory(V0, d1.getResultingVersion()); assertNotNull(appliedHistory); assertEquals(1, appliedHistory.size()); assertEquals(d1.applied, Iterables.getOnlyElement(appliedHistory)); }
/** * Checks that a request for the deltas spanning a contiguous sequence of delta facets produces * correct results. */ private void checkHistoryForDeltas(WaveletDeltaRecord... deltas) { HashedVersion beginVersion = deltas[0].appliedAtVersion; HashedVersion endVersion = deltas[deltas.length - 1].transformed.getResultingVersion(); { List<TransformedWaveletDelta> expected = Lists.newArrayListWithExpectedSize(deltas.length); for (WaveletDeltaRecord d : deltas) { expected.add(d.transformed); } assertEquals(expected, target.getTransformedDeltaHistory(beginVersion, endVersion)); } { List<ByteStringMessage<ProtocolAppliedWaveletDelta>> expected = Lists.newArrayListWithExpectedSize(deltas.length); for (WaveletDeltaRecord d : deltas) { expected.add(d.applied); } assertTrue( Iterables.elementsEqual( expected, target.getAppliedDeltaHistory(beginVersion, endVersion))); } }