public void CanSafelyCallDisposeMultipleTimes() { using (var snapshotStore = new SqlSnapshotStore(new SqlSnapshotStoreDialect(SqlServerConnection.Name), new BinarySerializer(), new SnapshotStoreSettings())) { snapshotStore.Dispose(); snapshotStore.Dispose(); } }
public void SqlSnapshotStore_Returns_Null_When_No_Snapshot_Exists() { var database = new Mock<ISqlRepository>(); database.Setup(db => db.GetSnapshot(It.IsAny<Guid>())); var store = new SqlSnapshotStore { GetRepository = () => database.Object }; var snapshot = store.GetSnapshot<BankAccountSnapshot>(Guid.NewGuid()); Assert.IsNull(snapshot); }
public void SqlSnapshotStore_Deserializes_Snapshot_Details() { var database = new Mock<ISqlRepository>(); database.Setup(db => db.GetSnapshot(It.IsAny<Guid>())).Returns(new SnapshotDetail{SnapshotData = Resources.JsonSerializedSnapshot}); var store = new SqlSnapshotStore { GetRepository = () => database.Object }; var snapshot = store.GetSnapshot<BankAccountSnapshot>(Guid.NewGuid()); Assert.AreEqual(900, snapshot.Data.Balance); }
public void SqlSnapshotStore_Returns_Null_When_No_Snapshot_Exists() { var database = new Mock <ISqlRepository>(); database.Setup(db => db.GetSnapshot(It.IsAny <Guid>())); var store = new SqlSnapshotStore { GetRepository = () => database.Object }; var snapshot = store.GetSnapshot <BankAccountSnapshot>(Guid.NewGuid()); Assert.IsNull(snapshot); }
public void SqlSnapshotStore_Serializes_Snapshots() { var database = new Mock<ISqlRepository>(); database.Setup(db => db.InsertSnapshot(It.IsAny<SnapshotDetail>())); var store = new SqlSnapshotStore { GetRepository = () => database.Object }; var snapshot = new Snapshot<BankAccountSnapshot> {Data = new BankAccountSnapshot {Balance = 900}}; store.SaveSnapshot(snapshot); database.Verify(db => db.InsertSnapshot(It.IsAny<SnapshotDetail>()), Times.Once()); }
public void SqlSnapshotStore_Deserializes_Snapshot_Details() { var database = new Mock <ISqlRepository>(); database.Setup(db => db.GetSnapshot(It.IsAny <Guid>())).Returns(new SnapshotDetail { SnapshotData = Resources.JsonSerializedSnapshot }); var store = new SqlSnapshotStore { GetRepository = () => database.Object }; var snapshot = store.GetSnapshot <BankAccountSnapshot>(Guid.NewGuid()); Assert.AreEqual(900, snapshot.Data.Balance); }
public void SqlSnapshotStore_Serializes_Snapshots() { var database = new Mock <ISqlRepository>(); database.Setup(db => db.InsertSnapshot(It.IsAny <SnapshotDetail>())); var store = new SqlSnapshotStore { GetRepository = () => database.Object }; var snapshot = new Snapshot <BankAccountSnapshot> { Data = new BankAccountSnapshot { Balance = 900 } }; store.SaveSnapshot(snapshot); database.Verify(db => db.InsertSnapshot(It.IsAny <SnapshotDetail>()), Times.Once()); }