PageRenderTime 59ms CodeModel.GetById 28ms RepoModel.GetById 1ms app.codeStats 0ms

/Framework/src/Ncqrs.Tests/Eventing/Storage/InMemoryEventStoreSpecs.cs

http://github.com/ncqrs/ncqrs
C# | 55 lines | 43 code | 12 blank | 0 comment | 0 complexity | 0c1e509d614d99f167ec8f1be4e88aa8 MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception, Apache-2.0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using FluentAssertions;
  5. using Ncqrs.Eventing;
  6. using Ncqrs.Eventing.Sourcing;
  7. using Xunit;
  8. using Ncqrs.Eventing.Storage;
  9. namespace Ncqrs.Tests.Eventing.Storage
  10. {
  11. public class InMemoryEventStoreSpecs
  12. {
  13. public class SomethingDoneEvent
  14. {
  15. }
  16. [Fact]
  17. public void When_getting_all_event_from_a_non_existing_event_source_the_result_should_be_empty()
  18. {
  19. var eventSourceId = Guid.NewGuid();
  20. var store = new InMemoryEventStore();
  21. var events = store.ReadFrom(eventSourceId, long.MinValue, long.MaxValue);
  22. events.Should().NotBeNull();
  23. events.Should().BeEmpty();
  24. }
  25. [Fact]
  26. public void When_getting_all_event_from_an_existing_event_source_the_result_should_be_all_events_stored_for_that_event_source()
  27. {
  28. var eventSourceId = Guid.NewGuid();
  29. var stream1 = new UncommittedEventStream(Guid.NewGuid());
  30. stream1.Append(new UncommittedEvent(Guid.NewGuid(), eventSourceId, 1, 0, DateTime.UtcNow, new object(), new Version(1, 0)));
  31. stream1.Append(new UncommittedEvent(Guid.NewGuid(), eventSourceId, 2, 0, DateTime.UtcNow, new object(), new Version(1, 0)));
  32. var stream2 = new UncommittedEventStream(Guid.NewGuid());
  33. stream2.Append(new UncommittedEvent(Guid.NewGuid(), eventSourceId, 3, 1, DateTime.UtcNow, new object(), new Version(1, 0)));
  34. stream2.Append(new UncommittedEvent(Guid.NewGuid(), eventSourceId, 4, 1, DateTime.UtcNow, new object(), new Version(1, 0)));
  35. stream2.Append(new UncommittedEvent(Guid.NewGuid(), eventSourceId, 5, 1, DateTime.UtcNow, new object(), new Version(1, 0)));
  36. var store = new InMemoryEventStore();
  37. store.Store(stream1);
  38. store.Store(stream2);
  39. var events = store.ReadFrom(eventSourceId, long.MinValue, long.MaxValue);
  40. events.Count().Should().Be(5);
  41. }
  42. }
  43. }