+
+ // Test with participating shard names.
+
+ final TransactionIdentifier tx2 = nextTransactionId();
+ batched = new BatchedModifications(tx2, (short)10000);
+ final SortedSet<String> shardNames = ImmutableSortedSet.of("one", "two");
+ batched.setReady(Optional.of(shardNames));
+ batched.setDoCommitOnReady(true);
+ assertTrue("isReady", batched.isReady());
+
+ clone = (BatchedModifications) SerializationUtils.clone((Serializable) batched.toSerializable());
+
+ assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, clone.getVersion());
+ assertEquals("getTransactionID", tx2, clone.getTransactionId());
+ assertTrue("isReady", clone.isReady());
+ assertTrue("isDoCommitOnReady", clone.isDoCommitOnReady());
+ assertEquals("participatingShardNames", Optional.of(shardNames), clone.getParticipatingShardNames());
+ assertEquals("getModifications size", 0, clone.getModifications().size());
+
+ // Test not ready.
+
+ batched = new BatchedModifications(tx2, DataStoreVersions.CURRENT_VERSION);
+
+ clone = (BatchedModifications) SerializationUtils.clone((Serializable) batched.toSerializable());
+
+ assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, clone.getVersion());
+ assertEquals("getTransactionID", tx2, clone.getTransactionId());
+ assertFalse("isReady", clone.isReady());
+ assertEquals("getModifications size", 0, clone.getModifications().size());