Example #1
0
        public void ByteAndSByteDataTest()
        {
            const int xsize     = 627;
            string    blobUri   = @"msds:ab?UseDevelopmentStorage=true&Container=testcontainer767x9&Blob=testblob767x17";
            var       xaxis     = new SerializableVariableSchema("x", typeof(Int32), new string[] { "x" }, null);
            var       ByteData  = new SerializableVariableSchema("ByteData", typeof(Byte), new string[] { "x" }, null);
            var       SByteData = new SerializableVariableSchema("SByteData", typeof(SByte), new string[] { "x" }, null);
            var       xdim      = new SerializableDimension("x", xsize);
            var       scheme    = new SerializableDataSetSchema(new SerializableDimension[] { xdim }, new SerializableVariableSchema[] { xaxis, ByteData, SByteData },
                                                                new System.Collections.Generic.Dictionary <string, object>());

            AzureBlobDataSet.CreateEmptySet(blobUri, scheme);
            var x      = new int[xsize];
            var Bvals  = new Byte[xsize];
            var SBvals = new SByte[xsize];

            for (int i = 0; i < xsize; ++i)
            {
                x[i] = i;
            }
            for (int i = 0; i < xsize; ++i)
            {
                Bvals[i]  = (Byte)(i % 256);
                SBvals[i] = (SByte)(i % 256 - 128);
            }
            AzureBlobDataSet set = new AzureBlobDataSet(blobUri);

            set["x"].PutData(x);
            set["ByteData"].PutData(Bvals);
            set["SByteData"].PutData(SBvals);

            var receivedByteData  = (Byte[])set["ByteData"].GetData();
            var receivedSByteData = (SByte[])set["SByteData"].GetData();

            for (int i = 0; i < xsize; ++i)
            {
                Assert.AreEqual((Byte)(i % 256), receivedByteData[i]);
                Assert.AreEqual((SByte)(i % 256 - 128), receivedSByteData[i]);
            }
        }
Example #2
0
        public void ByteAndSByte3DDataTest()
        {
            const int xsize     = 157;
            const int ysize     = 231;
            const int zsize     = 73;
            string    blobUri   = @"msds:ab?UseDevelopmentStorage=true&Container=testcontainer767x9&Blob=testblob767x10";
            var       xaxis     = new SerializableVariableSchema("x", typeof(Int32), new string[] { "x" }, null);
            var       yaxis     = new SerializableVariableSchema("y", typeof(Int32), new string[] { "y" }, null);
            var       zaxis     = new SerializableVariableSchema("z", typeof(Int32), new string[] { "z" }, null);
            var       ByteData  = new SerializableVariableSchema("ByteData", typeof(Byte), new string[] { "x", "y", "z" }, null);
            var       SByteData = new SerializableVariableSchema("SByteData", typeof(SByte), new string[] { "x", "y", "z" }, null);
            var       xdim      = new SerializableDimension("x", xsize);
            var       ydim      = new SerializableDimension("y", ysize);
            var       zdim      = new SerializableDimension("z", zsize);
            var       scheme    = new SerializableDataSetSchema(new SerializableDimension[] { xdim, ydim, zdim }, new SerializableVariableSchema[] { xaxis, yaxis, zaxis, ByteData, SByteData },
                                                                new System.Collections.Generic.Dictionary <string, object>());

            AzureBlobDataSet.CreateEmptySet(blobUri, scheme);
            var x      = new int[xsize];
            var y      = new int[ysize];
            var z      = new int[zsize];
            var Bvals  = new Byte[xsize, ysize, zsize];
            var SBvals = new SByte[xsize, ysize, zsize];

            for (int i = 0; i < xsize; ++i)
            {
                x[i] = i;
            }
            for (int i = 0; i < ysize; ++i)
            {
                y[i] = i;
            }
            for (int i = 0; i < zsize; ++i)
            {
                z[i] = i;
            }
            for (int i = 0; i < xsize; ++i)
            {
                for (int j = 0; j < ysize; ++j)
                {
                    for (int k = 0; k < zsize; ++k)
                    {
                        Bvals[i, j, k]  = (Byte)((i + j + k) % 256);
                        SBvals[i, j, k] = (SByte)((i + j + k) % 256 - 128);
                    }
                }
            }
            AzureBlobDataSet set = new AzureBlobDataSet(blobUri);

            set["x"].PutData(x);
            set["y"].PutData(y);
            set["z"].PutData(z);
            set["ByteData"].PutData(Bvals);
            set["SByteData"].PutData(SBvals);

            var receivedByteData  = (Byte[, , ])set["ByteData"].GetData();
            var receivedSByteData = (SByte[, , ])set["SByteData"].GetData();

            for (int i = 0; i < xsize; ++i)
            {
                for (int j = 0; j < ysize; ++j)
                {
                    for (int k = 0; k < zsize; ++k)
                    {
                        Assert.AreEqual((Byte)((i + j + k) % 256), receivedByteData[i, j, k]);
                        Assert.AreEqual((SByte)((i + j + k) % 256 - 128), receivedSByteData[i, j, k]);
                    }
                }
            }
        }
Example #3
0
        public void AzureBlobDataSetTest2()
        {
            const int xsize   = 157;
            const int ysize   = 231;
            const int zsize   = 73;
            string    blobUri = @"msds:ab?UseDevelopmentStorage=true&Container=testcontainer767x9&Blob=testblob767x10";
            var       xaxis   = new SerializableVariableSchema("x", typeof(Int32), new string[] { "x" }, null);
            var       yaxis   = new SerializableVariableSchema("y", typeof(Int32), new string[] { "y" }, null);
            var       zaxis   = new SerializableVariableSchema("z", typeof(Int32), new string[] { "z" }, null);
            var       data    = new SerializableVariableSchema("data", typeof(Int32), new string[] { "x", "y", "z" }, null);
            var       xdim    = new SerializableDimension("x", xsize);
            var       ydim    = new SerializableDimension("y", ysize);
            var       zdim    = new SerializableDimension("z", zsize);
            var       scheme  = new SerializableDataSetSchema(new SerializableDimension[] { xdim, ydim, zdim }, new SerializableVariableSchema[] { xaxis, yaxis, zaxis, data },
                                                              new System.Collections.Generic.Dictionary <string, object>());

            scheme.Metadata.Add("metaTest", new ObjectWithTypeString(new string[] { "test1", "test2", "test3" }));
            AzureBlobDataSet.CreateEmptySet(blobUri, scheme);
            var x    = new int[xsize];
            var y    = new int[ysize];
            var z    = new int[zsize];
            var vals = new int[xsize, ysize, zsize];

            for (int i = 0; i < xsize; ++i)
            {
                x[i] = i;
            }
            for (int i = 0; i < ysize; ++i)
            {
                y[i] = i;
            }
            for (int i = 0; i < zsize; ++i)
            {
                z[i] = i;
            }
            for (int i = 0; i < xsize; ++i)
            {
                for (int j = 0; j < ysize; ++j)
                {
                    for (int k = 0; k < zsize; ++k)
                    {
                        vals[i, j, k] = i * j * k;
                    }
                }
            }
            AzureBlobDataSet set = new AzureBlobDataSet(blobUri);

            set["x"].PutData(x);
            set["y"].PutData(y);
            set["z"].PutData(z);
            set["data"].PutData(vals);

            var receivedData = (int[, , ])set["data"].GetData();

            for (int i = 0; i < xsize; ++i)
            {
                for (int j = 0; j < ysize; ++j)
                {
                    for (int k = 0; k < zsize; ++k)
                    {
                        Assert.AreEqual(i * j * k, receivedData[i, j, k]);
                    }
                }
            }

            var meta = (string[])set.Metadata["metaTest"];

            Assert.AreEqual("test1", meta[0]);
            Assert.AreEqual("test2", meta[1]);
            Assert.AreEqual("test3", meta[2]);
        }