Esempio n. 1
0
        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" })));
        }
Esempio n. 2
0
        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}");
        }