Exemplo n.º 1
0
        public void TestArray()
        {
            var expected = TestClassWithArray.MakeTestClassWithArray();
            var key      = _databaseInstance.SaveAsync(expected).Result;
            var actual   = _databaseInstance.LoadAsync <TestClassWithArray>(key).Result;

            Assert.IsNotNull(actual, "Save/load failed: model is null.");
            Assert.AreEqual(expected.ID, actual.ID, "Save/load failed: key mismatch.");
            Assert.IsNotNull(actual.BaseClassArray, "Save/load failed: array not initialized.");
            Assert.IsNotNull(actual.ClassArray, "Save/load failed: array not initialized.");
            Assert.IsNotNull(actual.ValueTypeArray, "Save/load failed: array not initialized.");
            Assert.AreEqual(expected.BaseClassArray.Length, actual.BaseClassArray.Length, "Save/load failed: array size mismatch.");
            Assert.AreEqual(expected.ClassArray.Length, actual.ClassArray.Length, "Save/load failed: array size mismatch.");
            Assert.AreEqual(expected.ValueTypeArray.Length, actual.ValueTypeArray.Length, "Save/load failed: array size mismatch.");

            for (var x = 0; x < expected.BaseClassArray.Length; x++)
            {
                Assert.AreEqual(expected.BaseClassArray[x].Key, actual.BaseClassArray[x].Key, "Save/load failed: key mismatch.");
                Assert.AreEqual(expected.BaseClassArray[x].BaseProperty, actual.BaseClassArray[x].BaseProperty, "Save/load failed: data mismatch.");
            }

            for (var x = 0; x < expected.ClassArray.Length; x++)
            {
                Assert.AreEqual(expected.ClassArray[x].Key, actual.ClassArray[x].Key, "Save/load failed: key mismatch.");
                Assert.AreEqual(expected.ClassArray[x].Data, actual.ClassArray[x].Data, "Save/load failed: data mismatch.");
            }

            for (var x = 0; x < expected.ValueTypeArray.Length; x++)
            {
                Assert.AreEqual(expected.ValueTypeArray[x], actual.ValueTypeArray[x], "Save/load failed: value mismatch.");
            }
        }
Exemplo n.º 2
0
 public bool Equals(TestClassWithArray other)
 {
     return(base.Equals(other) &&
            other.TestDoubles.SequenceEqual(TestDoubles) &&
            other.testDoublesField.SequenceEqual(testDoublesField) &&
            other.testStringsField.SequenceEqual(testStringsField));
 }
Exemplo n.º 3
0
 public void ObjectWithArrayProperty()
 {
     var obj = new TestClassWithArray();
     obj.ArrayOfInt = new[] {1, 2, 3};
     CheckSerializationAndDeserialization("ExtendedXmlSerializerTest.Resources.TestClassWithArray.xml", obj);
     CheckCompatibilityWithDefaultSerializator(obj);
 }
        public void ClassWithArray()
        {
            var expected = new TestClassWithArray()
            {
                ArrayOfInt = new int[] { 1, 2, 3 }
            };

            _serializer.Cycle(expected)
            .Should().BeEquivalentTo(expected);
        }
Exemplo n.º 5
0
        public void TestNullArray()
        {
            var expected = TestClassWithArray.MakeTestClassWithArray();

            expected.BaseClassArray = null;
            expected.ClassArray     = null;
            expected.ValueTypeArray = null;
            var key    = _databaseInstance.SaveAsync(expected).Result;
            var actual = _databaseInstance.LoadAsync <TestClassWithArray>(key).Result;

            Assert.IsNotNull(actual, "Save/load failed: model is null.");
            Assert.AreEqual(expected.ID, actual.ID, "Save/load failed: key mismatch.");
            Assert.IsNull(actual.BaseClassArray, "Save/load: array should be null");
            Assert.IsNull(actual.ClassArray, "Save/load: array should be null");
            Assert.IsNull(actual.ValueTypeArray, "Save/load: array should be null");
        }
Exemplo n.º 6
0
        public void WriteAndReadObjectWithPropertiesAndArrayPropertyTest()
        {
            try
            {
                testClassWithArrays.TestInteger      = 2;
                testClassWithArrays.TestDouble       = 1.1;
                testClassWithArrays.TestBoolean      = true;
                testClassWithArrays.TestString       = "test string";
                testClassWithArrays.TestDoubles      = new[] { 1.1, 1.2, -1.1, -1.2 };
                testClassWithArrays.TestStrings      = new[] { "one", "two", "three", "four" };
                testClassWithArrays.testDoublesField = new[] { 1.1, 1.2, -1.1, -1.2 };
                testClassWithArrays.testStringsField = new[] { "one", "two", "three", "four" };
                string filename = Path.Combine(folder, "testArrayObjects.H5");

                var fileId = Hdf5.CreateFile(filename);
                Assert.IsTrue(fileId >= 0);

                Hdf5.WriteObject(fileId, testClassWithArrays, "objectWithTwoArrays");

                TestClassWithArray readObject = new TestClassWithArray
                {
                    TestStrings = new string[0],
                    TestDoubles = null,
                    TestDouble  = double.NaN
                };

                readObject = Hdf5.ReadObject(fileId, readObject, "objectWithTwoArrays");
                Assert.IsTrue(testClassWithArrays.Equals(readObject));

                readObject = Hdf5.ReadObject <TestClassWithArray>(fileId, "objectWithTwoArrays");
                Assert.IsTrue(testClassWithArrays.Equals(readObject));

                Assert.IsTrue(Hdf5.CloseFile(fileId) >= 0);
            }
            catch (Exception ex)
            {
                CreateExceptionAssert(ex);
            }
        }
Exemplo n.º 7
0
        public static void ClassInitialize(TestContext context)
        {
            Hdf5.Settings.LowerCaseNaming = true;
            //folder = System.IO.Path.GetTempPath();
            folder = AppDomain.CurrentDomain.BaseDirectory;
            dsets  = new List <double[, ]> {
                CreateDataset(),
                CreateDataset(10),
                CreateDataset(20)
            };

            wDataList = new WData[4] {
                new WData()
                {
                    serial_no = 1153, location = "Exterior (static)", temperature = 53.23, pressure = 24.57, Time = new DateTime(2000, 1, 1)
                },
                new WData()
                {
                    serial_no = 1184, location = "Intake", temperature = 55.12, pressure = 22.95, Time = new DateTime(2000, 1, 2)
                },
                new WData()
                {
                    serial_no = 1027, location = "Intake manifold", temperature = 103.55, pressure = 31.23, Time = new DateTime(2000, 1, 3)
                },
                new WData()
                {
                    serial_no = 1313, location = "Exhaust manifold", temperature = 1252.89, pressure = 84.11, Time = new DateTime(2000, 1, 4)
                }
            };

            wData2List = new WData2[4] {
                new WData2()
                {
                    serial_no = 1153, location = "Exterior (static)", label = "V", temperature = 53.23, pressure = 24.57
                },
                new WData2()
                {
                    serial_no = 1184, location = "Intake", label = "uV", temperature = 55.12, pressure = 22.95
                },
                new WData2()
                {
                    serial_no = 1027, location = "Intake manifold", label = "V", temperature = 103.55, pressure = 31.23
                },
                new WData2()
                {
                    serial_no = 1313, location = "Exhaust manifold", label = "mV", temperature = 1252.89, pressure = 84.11
                }
            };
            responseList = new Responses[4] {
                new Responses()
                {
                    MCID = 1, PanelIdx = 5, ResponseValues = new short[4] {
                        1, 2, 3, 4
                    }
                },
                new Responses()
                {
                    MCID = 2, PanelIdx = 6, ResponseValues = new short[4] {
                        5, 6, 7, 8
                    }
                },
                new Responses()
                {
                    MCID = 3, PanelIdx = 7, ResponseValues = new short[4] {
                        1, 2, 3, 4
                    }
                },
                new Responses()
                {
                    MCID = 4, PanelIdx = 8, ResponseValues = new short[4] {
                        5, 6, 7, 8
                    }
                }
            };

            classWithStructs = new TestClassWithStructs {
                DataList = wDataList
            };
            testClass           = new TestClass();
            testClassWithArrays = new TestClassWithArray();
            allTypesObject      = new AllTypesClass();

            var files = Directory.GetFiles(folder, "*.H5");

            foreach (var file in files)
            {
                try
                {
                    File.Delete(file);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            }
        }