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();
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
 public SqlSnapshotCollection(string connectionString)
 {
     _connectionString = connectionString;
     _collection       = new SnapshotCollection();
     _collection.SetTimeSource(new SQLTimeSource(_connectionString));
 }