示例#1
0
        public void SetDouble()
        {
            string filename = GetFilename("setdouble.h5");

            Hdf5File file = Hdf5File.Create(filename);

            List <Hdf5DimensionProperty> properties = new List <Hdf5DimensionProperty>();
            Hdf5DimensionProperty        property   = new Hdf5DimensionProperty {
                CurrentSize = 5
            };

            properties.Add(property);

            Hdf5Dataset dataset = file.Datasets.Add("dataset1", Hdf5DataTypes.Double, properties);

            Assert.IsNotNull(dataset);

            Double[] value = { Double.MinValue, -1.1d, 0.0d, -1.3d, Double.MaxValue };
            dataset.SetData(value);

            var array = dataset.GetData();

            Assert.AreEqual(1, array.Rank);
            Assert.AreEqual(5, array.GetLength(0));
            Assert.AreEqual(Double.MinValue, array.GetValue(0));
            Assert.AreEqual(Double.MaxValue, array.GetValue(4));

            file.Close();
        }
示例#2
0
        public void SetUInt64()
        {
            string filename = GetFilename("setuint64.h5");

            Hdf5File file = Hdf5File.Create(filename);

            List <Hdf5DimensionProperty> properties = new List <Hdf5DimensionProperty>();
            Hdf5DimensionProperty        property   = new Hdf5DimensionProperty {
                CurrentSize = 5
            };

            properties.Add(property);

            Hdf5Dataset dataset = file.Datasets.Add("dataset1", Hdf5DataTypes.UInt64, properties);

            Assert.IsNotNull(dataset);

            UInt64[] value = { UInt64.MinValue, 1, 2, 3, UInt64.MaxValue };
            dataset.SetData(value);

            var array = dataset.GetData();

            Assert.AreEqual(1, array.Rank);
            Assert.AreEqual(5, array.GetLength(0));
            Assert.AreEqual(UInt64.MinValue, array.GetValue(0));
            Assert.AreEqual(UInt64.MaxValue, array.GetValue(4));

            file.Close();
        }
示例#3
0
        public void SetArrayDimensionMismatch1()
        {
            string filename = GetFilename("setarraydimensionmismatch1.h5");

            Hdf5File file = Hdf5File.Create(filename);

            List <Hdf5DimensionProperty> properties = new List <Hdf5DimensionProperty>();
            Hdf5DimensionProperty        property   = new Hdf5DimensionProperty {
                CurrentSize = 5
            };

            properties.Add(property);

            Hdf5Dataset dataset = file.Datasets.Add("dataset1", Hdf5DataTypes.Int32, properties);

            Assert.IsNotNull(dataset);

            try
            {
                //2 dimensions sent, only one expected
                Int32[,] value = { { 1, 2, 3, 4, 5 }, { 6, 7, 8, 9, 10 } };
                dataset.SetData(value);
                Assert.Fail("Exception was expected");
            }
            catch (Exception ex)
            {
                Assert.IsInstanceOf <Hdf5ArrayDimensionsMismatchException>(ex);
            }

            file.Close();
        }
示例#4
0
        public void SetDataMismatch()
        {
            string filename = GetFilename("setdatamismatch.h5");

            Hdf5File file = Hdf5File.Create(filename);

            List <Hdf5DimensionProperty> properties = new List <Hdf5DimensionProperty>();
            Hdf5DimensionProperty        property   = new Hdf5DimensionProperty {
                CurrentSize = 3
            };

            properties.Add(property);

            Hdf5Dataset dataset = file.Datasets.Add("dataset1", Hdf5DataTypes.Int8, properties);

            Assert.IsNotNull(dataset);

            try
            {
                Int32[] value = { 1, 2, 3 };
                dataset.SetData(value);
                Assert.Fail("Exception was expected");
            }
            catch (Exception ex)
            {
                Assert.IsInstanceOf <Hdf5TypeMismatchException>(ex);
            }

            file.Close();
        }
示例#5
0
        public void SetDataNull()
        {
            string filename = GetFilename("setdatatnull.h5");

            Hdf5File file = Hdf5File.Create(filename);

            List <Hdf5DimensionProperty> properties = new List <Hdf5DimensionProperty>();
            Hdf5DimensionProperty        property   = new Hdf5DimensionProperty {
                CurrentSize = 100
            };

            properties.Add(property);

            Hdf5Dataset dataset = file.Datasets.Add("dataset1", Hdf5DataTypes.Int8, properties);

            Assert.IsNotNull(dataset);

            try
            {
                sbyte[] value = null;
                dataset.SetData(value);
                Assert.Fail("Exception was expected");
            }
            catch (Exception ex)
            {
                Assert.IsInstanceOf <ArgumentNullException>(ex);
            }

            file.Close();
        }
示例#6
0
        public void Set2DuInt64()
        {
            string filename = GetFilename("set2duint64.h5");

            Hdf5File file = Hdf5File.Create(filename);

            List <Hdf5DimensionProperty> properties = new List <Hdf5DimensionProperty>();
            Hdf5DimensionProperty        property1  = new Hdf5DimensionProperty {
                CurrentSize = 2
            };

            properties.Add(property1);
            Hdf5DimensionProperty property2 = new Hdf5DimensionProperty {
                CurrentSize = 3
            };

            properties.Add(property2);

            Hdf5Dataset dataset = file.Datasets.Add("dataset1", Hdf5DataTypes.UInt64, properties);

            Assert.IsNotNull(dataset);

            UInt64[,] value = { { UInt64.MinValue, 0, UInt64.MaxValue }, { UInt64.MaxValue, 0, UInt64.MinValue } };
            dataset.SetData(value);

            var array = dataset.GetData();

            Assert.AreEqual(2, array.Rank);
            Assert.AreEqual(2, array.GetLength(0));
            Assert.AreEqual(3, array.GetLength(1));
            Assert.AreEqual(UInt64.MinValue, array.GetValue(0, 0));
            Assert.AreEqual(0, array.GetValue(0, 1));
            Assert.AreEqual(UInt64.MaxValue, array.GetValue(0, 2));
            Assert.AreEqual(UInt64.MaxValue, array.GetValue(1, 0));
            Assert.AreEqual(0, array.GetValue(1, 1));
            Assert.AreEqual(UInt64.MinValue, array.GetValue(1, 2));

            file.Close();
        }
示例#7
0
        public void Set2DArraySizeMismatch2()
        {
            string filename = GetFilename("set2darraysizemismatch2.h5");

            Hdf5File file = Hdf5File.Create(filename);

            List <Hdf5DimensionProperty> properties = new List <Hdf5DimensionProperty>();
            Hdf5DimensionProperty        property1  = new Hdf5DimensionProperty {
                CurrentSize = 3
            };

            properties.Add(property1);
            Hdf5DimensionProperty property2 = new Hdf5DimensionProperty {
                CurrentSize = 5
            };

            properties.Add(property2);

            Hdf5Dataset dataset = file.Datasets.Add("dataset1", Hdf5DataTypes.Int32, properties);

            Assert.IsNotNull(dataset);

            try
            {
                //Only 3x4
                Int32[,] value = { { 1, 2, 3 }, { 4, 5, 6, }, { 7, 8, 9, }, { 10, 11, 12, } };
                dataset.SetData(value);
                Assert.Fail("Exception was expected");
            }
            catch (Exception ex)
            {
                Assert.IsInstanceOf <Hdf5ArraySizeMismatchException>(ex);
            }

            file.Close();
        }