public void DateDiagnosticsCanBeAdded() { //Arrange _collection.SetTimeSource(new FakeTimeSource("2020-10-18 10:28", "2020-10-18 10:29", "2020-10-18 10:30", "2020-10-18 10:31", "2020-10-18 10:32")); var beforeData = new[] { new { Name = "Test 1", A = 5, B = 6, C = 7 }, new { Name = "Test 2", A = 5, B = 6, C = 7 }, new { Name = "Test 3", A = 3, B = 7, C = 6 }, }; var afterData = new[] { new { Name = "Test 1", A = 5, B = 6, C = 7 }, new { Name = "Test 2", A = 8, B = 6, C = 3 }, new { Name = "Test 4", A = 10, B = 7, C = 6 }, }; var beforeBuilder = _collection.NewSnapshot("before"); beforeData.ToSnapshotTable(beforeBuilder, "Table", "Name"); var afterBuilder = _collection.NewSnapshot("after"); afterData.ToSnapshotTable(afterBuilder, "Table"); _collection.DefineTable("Table").IsUnpredictable("A").IsUnpredictable("B").IsUnpredictable("C"); var output = new Output(); //Act SnapshotComparer.ReportDifferences(_collection, _collection.GetSnapshot("before"), _collection.GetSnapshot("after"), output, ChangeReportOptions.NoSubs | ChangeReportOptions.ReportDateDiagnostics); //Assert output.Report.Verify(); }
public void InitTimeIsSetUsingTimeSource() { //Arrange var time = DateTime.Parse("2020-09-19 19:53:01"); var snapshots = new SnapshotCollection(); //Act snapshots.SetTimeSource(new FakeTimeSource(time)); //Assert snapshots.InitialisationTime.Should().Be(time); }
public void SnapshotTimestampAwaitsClockTick() { //Arrange var start = DateTime.Parse("2020-09-19 20:19"); var ticked = DateTime.Parse("2020-09-19 20:19:00.001"); _collection.SetTimeSource(new FakeTimeSource(start, start, start, start, start, start, ticked)); var builder = _collection.NewSnapshot("Test"); //Act var snapshot = _collection.GetSnapshot("Test"); //Assert snapshot.SnapshotTimestamp.Should().Be(ticked); }
public SqlSnapshotCollection(string connectionString) { _connectionString = connectionString; _collection = new SnapshotCollection(); _collection.SetTimeSource(new SQLTimeSource(_connectionString)); }