Exemplo n.º 1
0
        public void verify_snapshot_usage()
        {
            var id = new TestEventUnfolderId(Interlocked.Increment(ref progressive));

            using (var stream = _eventStore.OpenStream("BLAH", id.AsString(), 0, Int32.MaxValue))
            {
                CommitOneValue(stream, 1);
                CommitOneValue(stream, 2);
            }

            var      unfolder = sut.GetById <TestProjector, TestAggregateQueryModel>(id, 1);
            var      memento  = unfolder.GetSnapshot();
            Snapshot s        = new Snapshot(id.AsString(), 2, memento);

            using (var stream = _eventStore.OpenStream("BLAH", id.AsString(), 0, Int32.MaxValue))
            {
                CommitOneValue(stream, 3);
            }
            _persister.Load(null, 1, null).ReturnsForAnyArgs(s);

            unfolder = sut.GetById <TestProjector, TestAggregateQueryModel>(id, Int32.MaxValue);
            var rm = unfolder.GetProjection();

            Assert.That(rm.Sum, Is.EqualTo(6));
            Assert.That(rm.ListOfInt, Is.EquivalentTo(new[] { 1, 2, 3 }));
        }
Exemplo n.º 2
0
        public void verify_projection_up_to_certain_event()
        {
            var id = new TestEventUnfolderId(Interlocked.Increment(ref progressive));

            using (var stream = _eventStore.OpenStream("BLAH", id.AsString(), 0, Int32.MaxValue))
            {
                CommitOneValue(stream, 1);
                CommitOneValue(stream, 2);
                CommitOneValue(stream, 3);
            }

            var unfolder = sut.GetById <TestProjector, TestAggregateQueryModel>(id, 1);
            var rm       = unfolder.GetProjection();

            Assert.That(rm.Sum, Is.EqualTo(1));
            Assert.That(rm.ListOfInt, Is.EquivalentTo(new[] { 1 }));

            unfolder = sut.GetById <TestProjector, TestAggregateQueryModel>(id, 2);
            rm       = unfolder.GetProjection();
            Assert.That(rm.Sum, Is.EqualTo(3));
            Assert.That(rm.ListOfInt, Is.EquivalentTo(new[] { 1, 2 }));

            unfolder = sut.GetById <TestProjector, TestAggregateQueryModel>(id, 3);
            rm       = unfolder.GetProjection();
            Assert.That(rm.Sum, Is.EqualTo(6));
            Assert.That(rm.ListOfInt, Is.EquivalentTo(new[] { 1, 2, 3 }));
        }
Exemplo n.º 3
0
        public void verify_use_snapshot_strategy()
        {
            var id = new TestEventUnfolderId(Interlocked.Increment(ref progressive));

            using (var stream = _eventStore.OpenStream(id.AsString()))
            {
                CommitOneValue(stream, 42);
            }
            TestProjector.ShouldSnapshotReturn = true;
            sut.GetById <TestProjector, TestAggregateQueryModel>(id, Int32.MaxValue);
            TestProjector.ShouldSnapshotReturn = false;
            _persister.Received().Persist(Arg.Any <ISnapshot>(), Arg.Any <String>());
        }
Exemplo n.º 4
0
        public void verify_basic_in_memory_projection()
        {
            var id = new TestEventUnfolderId(Interlocked.Increment(ref progressive));

            using (var stream = _eventStore.OpenStream("BLAH", id.AsString(), 0, Int32.MaxValue))
            {
                CommitOneValue(stream, 42);
            }

            var unfolder = sut.GetById <TestProjector, TestAggregateQueryModel>(id, Int32.MaxValue);
            var rm       = unfolder.GetProjection();

            Assert.That(rm.Sum, Is.EqualTo(42));
            Assert.That(rm.ListOfInt, Is.EquivalentTo(new[] { 42 }));
        }