コード例 #1
0
        public void TryUpdateSnapshotRevision()
        {
            // arrange
            var snapshotStore = new SqlServerSnapshotStore(this.ConnectionString);
            var streamId      = Guid.NewGuid();
            var firstSnapshot = new Snapshot
            {
                StreamRevision = 4,
                Memento        = new Memento {
                    Id = 2, Name = "first"
                },
            };

            var secondSnapshot = new Snapshot
            {
                StreamRevision = 8,
                Memento        = new Memento {
                    Id = 2, Name = "second"
                },
            };

            // act
            snapshotStore.PutSnapshot(streamId, firstSnapshot);
            snapshotStore.PutSnapshot(streamId, secondSnapshot);
            var actualSnapshot = snapshotStore.GetSnapshot(streamId);

            // assert
            actualSnapshot.Should().NotBeNull();
            actualSnapshot.ShouldBeEquivalentTo(secondSnapshot);
        }
コード例 #2
0
        public void TrySaveSnapshot()
        {
            // arrange
            var snapshotStore    = new SqlServerSnapshotStore(this.ConnectionString);
            var streamId         = Guid.NewGuid();
            var expectedSnapshot = new Snapshot
            {
                StreamRevision = 4,
                Memento        = new Memento {
                    Id = 2, Name = "example"
                },
            };

            // act
            snapshotStore.PutSnapshot(streamId, expectedSnapshot);
            var actualSnapshot = snapshotStore.GetSnapshot(streamId);

            // assert
            actualSnapshot.Should().NotBeNull();
            actualSnapshot.ShouldBeEquivalentTo(expectedSnapshot);
        }