public void RevertCheckpoint() { DataStoreReaderTests.CreateTable(database); // Write some new current data. var data1 = new ReportData() { CheckpointName = "Current", SimulationName = "Sim1", TableName = "Report", ColumnNames = new string[] { "Col1", "Col2" }, ColumnUnits = new string[] { null, "g" } }; data1.Rows.Add(new List <object>() { new DateTime(2017, 1, 3), 100.0 }); data1.Rows.Add(new List <object>() { new DateTime(2017, 1, 4), 200.0 }); var writer = new DataStoreWriter(database); writer.WriteTable(data1); // Now revert back to checkpoint1 writer.RevertCheckpoint("Saved1"); writer.Stop(); Assert.IsTrue( Utilities.CreateTable(new string[] { "CheckpointID", "SimulationID", "Col1", "Col2" }, new List <object[]> { new object[] { 1, 1, new DateTime(2017, 01, 01), 11 }, new object[] { 1, 1, new DateTime(2017, 01, 02), 12 }, new object[] { 1, 2, new DateTime(2017, 01, 01), 31 }, new object[] { 1, 2, new DateTime(2017, 01, 02), 32 }, new object[] { 2, 1, new DateTime(2017, 01, 01), 11 }, new object[] { 2, 1, new DateTime(2017, 01, 02), 12 }, new object[] { 2, 2, new DateTime(2017, 01, 01), 31 }, new object[] { 2, 2, new DateTime(2017, 01, 02), 32 } }) .IsSame(Utilities.GetTableFromDatabase(database, "Report"))); Assert.IsTrue( Utilities.CreateTable(new string[] { "ID", "Name" }, new List <object[]> { new object[] { 1, "Current" }, new object[] { 2, "Saved1" } }) .IsSame(Utilities.GetTableFromDatabase(database, "_Checkpoints", new string[] { "ID", "Name" }))); }
public void RevertCheckpoint() { DataStoreReaderTests.CreateTable(database); // Write some new current data. var data1 = new ReportData() { CheckpointName = "Current", SimulationName = "Sim1", TableName = "Report", ColumnNames = new string[] { "Col1", "Col2" }, ColumnUnits = new string[] { null, "g" } }; data1.Rows.Add(new List <object>() { new DateTime(2017, 1, 3), 100.0 }); data1.Rows.Add(new List <object>() { new DateTime(2017, 1, 4), 200.0 }); var writer = new DataStoreWriter(database); writer.WriteTable(data1); // Now revert back to checkpoint1 writer.RevertCheckpoint("Saved1"); writer.Stop(); Assert.AreEqual(Utilities.TableToString(database, "Report"), $"CheckpointID,SimulationID, Col1, Col2{Environment.NewLine}" + $" 1, 1,2017-01-01,11.000{Environment.NewLine}" + $" 1, 1,2017-01-02,12.000{Environment.NewLine}" + $" 1, 2,2017-01-01,31.000{Environment.NewLine}" + $" 1, 2,2017-01-02,32.000{Environment.NewLine}" + $" 2, 1,2017-01-01,11.000{Environment.NewLine}" + $" 2, 1,2017-01-02,12.000{Environment.NewLine}" + $" 2, 2,2017-01-01,31.000{Environment.NewLine}" + $" 2, 2,2017-01-02,32.000{Environment.NewLine}"); Assert.AreEqual(Utilities.TableToString(database, "_Checkpoints", new string[] { "ID", "Name" }), $"ID, Name{Environment.NewLine}" + $" 1,Current{Environment.NewLine}" + $" 2, Saved1{Environment.NewLine}"); }