public void testWrapper() throws Exception {
// tests that TwoPhaseCommitWrapper delegates prepare/commit w/ commitData
TwoPhaseCommitImpl impl = new TwoPhaseCommitImpl(false, false, false);
HashMap<String, String> commitData = new HashMap<String, String>();
TwoPhaseCommitWrapper wrapper = new TwoPhaseCommitWrapper(impl, commitData);
wrapper.prepareCommit();
assertSame(commitData, impl.prepareCommitData);
// wrapper should ignore passed commitData
wrapper.prepareCommit(new HashMap<String, String>());
assertSame(commitData, impl.prepareCommitData);
wrapper.commit();
assertSame(commitData, impl.commitData);
// wrapper should ignore passed commitData
wrapper.commit(new HashMap<String, String>());
assertSame(commitData, impl.commitData);
}