public void TestWriteReadStream() { Journal journal = Journal.Open("test"); journal.Write("name123", 1, EntryBatch.Of("type1", "type1_instance1")); journal.Write("name456", 1, EntryBatch.Of("type2", "type2_instance1")); journal.Write("name123", 2, EntryBatch.Of("type1-1", "type1-1_instance1")); journal.Write("name123", 3, EntryBatch.Of("type1-2", "type1-2_instance1")); journal.Write("name456", 2, EntryBatch.Of("type2-1", "type2-1_instance1")); EntryStreamReader streamReader = journal.StreamReader(); EntryStream eventStream123 = streamReader.StreamFor("name123"); Assert.AreEqual(3, eventStream123.StreamVersion); Assert.AreEqual(3, eventStream123.Stream.Count); Assert.AreEqual(new EntryValue("name123", 1, "type1", "type1_instance1", ""), eventStream123.Stream[0]); Assert.AreEqual(new EntryValue("name123", 2, "type1-1", "type1-1_instance1", ""), eventStream123.Stream[1]); Assert.AreEqual(new EntryValue("name123", 3, "type1-2", "type1-2_instance1", ""), eventStream123.Stream[2]); EntryStream eventStream456 = streamReader.StreamFor("name456"); Assert.AreEqual(2, eventStream456.StreamVersion); Assert.AreEqual(2, eventStream456.Stream.Count); Assert.AreEqual(new EntryValue("name456", 1, "type2", "type2_instance1", ""), eventStream456.Stream[0]); Assert.AreEqual(new EntryValue("name456", 2, "type2-1", "type2-1_instance1", ""), eventStream456.Stream[1]); journal.Close(); }
public void TestWriteReadStreamSnapshot() { Journal journal = Journal.Open("test"); journal.Write("name123", 1, EntryBatch.Of("type1", "type1_instance1", "SNAPSHOT123-1")); journal.Write("name456", 1, EntryBatch.Of("type2", "type2_instance1", "SNAPSHOT456-1")); journal.Write("name123", 2, EntryBatch.Of("type1-1", "type1-1_instance1", "SNAPSHOT123-2")); journal.Write("name123", 3, EntryBatch.Of("type1-2", "type1-2_instance1")); journal.Write("name456", 2, EntryBatch.Of("type2-1", "type2-1_instance1", "SNAPSHOT456-2")); EntryStreamReader streamReader = journal.StreamReader(); EntryStream eventStream123 = streamReader.StreamFor("name123"); Assert.AreEqual("name123", eventStream123.StreamName); Assert.AreEqual(3, eventStream123.StreamVersion); Assert.AreEqual(1, eventStream123.Stream.Count); Assert.AreEqual("SNAPSHOT123-2", eventStream123.Snapshot); EntryStream eventStream456 = streamReader.StreamFor("name456"); Assert.AreEqual("name456", eventStream456.StreamName); Assert.AreEqual(2, eventStream456.StreamVersion); Assert.AreEqual(0, eventStream456.Stream.Count); Assert.AreEqual("SNAPSHOT456-2", eventStream456.Snapshot); journal.Close(); }
public PersonES PersonOfId(string id) { var stream = reader.StreamFor(id); return(new PersonES(ToSourceStream <DomainEvent>(stream.Stream), stream.StreamVersion)); }
public Product ProductOfId(string id) { var stream = reader.StreamFor(id); return(new Product(ToSourceStream <DomainEvent>(stream.Stream), stream.StreamVersion)); }