@@ -0,0 +1,1729 @@
+package org.jeeventstore.store;%0A%0Aimport java.io.Serializable;%0Aimport java.util.ArrayList;%0Aimport java.util.Iterator;%0Aimport java.util.List;%0Aimport java.util.UUID;%0Aimport org.jeeventstore.ChangeSet;%0Aimport org.jeeventstore.util.IteratorUtils;%0Aimport static org.testng.Assert.*;%0Aimport org.testng.annotations.Test;%0A%0A/**%0A *%0A * @author Alexander Langer%0A */%0Apublic class DefaultChangeSetTest %7B%0A%0A    private final static String BUCKET_ID = %22TEST_BUCKET%22;%0A    private final static String STREAM_ID = %22TEST_STREAM%22;%0A    private final static long STREAM_VERSION = 28;%0A    private final static UUID CHANGE_SET_ID = UUID.randomUUID();%0A    private final static List%3CSerializable%3E EVENTS = new ArrayList%3CSerializable%3E();%0A    %0A    private ChangeSet get() %7B%0A        if (EVENTS.isEmpty())%0A            EVENTS.add(%22Hello!%22);%0A        return new DefaultChangeSet(BUCKET_ID, STREAM_ID, STREAM_VERSION, CHANGE_SET_ID, EVENTS);%0A    %7D%0A%0A    @Test%0A    public void test_that_values_are_valid() %7B%0A        ChangeSet cs = get();%0A        assertEquals(cs.bucketId(), BUCKET_ID);%0A        assertEquals(cs.streamId(), STREAM_ID);%0A        assertEquals(cs.streamVersion(), STREAM_VERSION);%0A        assertEquals(cs.changeSetId(), CHANGE_SET_ID);%0A        assertEquals(IteratorUtils.toList(cs.events()), IteratorUtils.toList(EVENTS.iterator()));%0A        assertTrue(cs.events().hasNext());%0A    %7D%0A%0A    @Test%0A    public void test_that_events_are_readonly() %7B%0A        ChangeSet cs = get();%0A        Iterator%3CSerializable%3E it = cs.events();%0A        assertTrue(it.hasNext());%0A        it.next();%0A        try %7B%0A            it.remove();%0A            fail(%22Should have failed by now%22);%0A        %7D catch (UnsupportedOperationException e) %7B%0A            // expected%0A        %7D%0A    %7D%0A%0A%7D%0A

Add tests for DefaultChangeSet