public void running_synchronously() { var logger = new RecordingSessionLogger(); Guid streamId = Guid.NewGuid(); using (var session = theStore.OpenSession()) { session.Logger = logger; var joined = new MembersJoined { Members = new[] { "Rand", "Matt", "Perrin", "Thom" } }; var departed = new MembersDeparted { Members = new[] { "Thom" } }; session.Events.StartStream<Quest>(streamId, joined, departed); session.SaveChanges(); var events = logger.LastCommit.GetEvents().ToArray(); events.Select(x => x.Version) .ShouldHaveTheSameElementsAs(1, 2); events.Each(x => x.Sequence.ShouldBeGreaterThan(0L)); events.Select(x => x.Sequence).Distinct().Count().ShouldBe(2); } using (var session = theStore.OpenSession()) { session.Logger = logger; var joined2 = new MembersJoined { Members = new[] { "Egwene" } }; var departed2 = new MembersDeparted { Members = new[] { "Perrin" } }; session.Events.Append(streamId, joined2, departed2); session.SaveChanges(); logger.LastCommit.GetEvents().Select(x => x.Version) .ShouldHaveTheSameElementsAs(3, 4); } using (var session = theStore.OpenSession()) { session.Logger = logger; var joined3 = new MembersJoined { Members = new[] { "Egwene" } }; var departed3 = new MembersDeparted { Members = new[] { "Perrin" } }; session.Events.Append(streamId, joined3, departed3); session.SaveChanges(); logger.LastCommit.GetEvents().Select(x => x.Version) .ShouldHaveTheSameElementsAs(5, 6); } }
public void running_synchronously() { var logger = new RecordingSessionLogger(); Guid streamId = Guid.NewGuid(); using (var session = theStore.OpenSession()) { session.Logger = logger; var joined = new MembersJoined { Members = new[] { "Rand", "Matt", "Perrin", "Thom" } }; var departed = new MembersDeparted { Members = new[] { "Thom" } }; session.Events.StartStream <Quest>(streamId, joined, departed); session.SaveChanges(); var events = logger.LastCommit.GetEvents().ToArray(); events.Select(x => x.Version) .ShouldHaveTheSameElementsAs(1, 2); events.Each(x => x.Sequence.ShouldBeGreaterThan(0L)); events.Select(x => x.Sequence).Distinct().Count().ShouldBe(2); } using (var session = theStore.OpenSession()) { session.Logger = logger; var joined2 = new MembersJoined { Members = new[] { "Egwene" } }; var departed2 = new MembersDeparted { Members = new[] { "Perrin" } }; session.Events.Append(streamId, joined2, departed2); session.SaveChanges(); logger.LastCommit.GetEvents().Select(x => x.Version) .ShouldHaveTheSameElementsAs(3, 4); } using (var session = theStore.OpenSession()) { session.Logger = logger; var joined3 = new MembersJoined { Members = new[] { "Egwene" } }; var departed3 = new MembersDeparted { Members = new[] { "Perrin" } }; session.Events.Append(streamId, joined3, departed3); session.SaveChanges(); logger.LastCommit.GetEvents().Select(x => x.Version) .ShouldHaveTheSameElementsAs(5, 6); } }