Ejemplo n.º 1
0
        public void FloatRaster32ConstructorTest()
        {
            // normal parameters

            for (Int32 numberOfBands = 0; numberOfBands < 10; numberOfBands++)
            {
                for (Int32 numberOfRows = 0; numberOfRows < 1000; numberOfRows += 250)
                {
                    for (Int32 numberOfColumns = 0; numberOfColumns < 1000; numberOfColumns += 250)
                    {
                        RasterFloat32 raster = new RasterFloat32(null, numberOfBands, numberOfRows, numberOfColumns, 32, null);

                        Assert.AreEqual(numberOfBands, raster.NumberOfBands);
                        Assert.AreEqual(numberOfRows, raster.NumberOfRows);
                        Assert.AreEqual(numberOfColumns, raster.NumberOfColumns);
                        Assert.AreEqual(32, raster.RadiometricResolution);
                        Assert.AreEqual(RasterFormat.Floating, raster.Format);
                        Assert.IsFalse(raster.IsMapped);
                        Assert.IsTrue(raster.IsReadable);
                        Assert.IsTrue(raster.IsWritable);
                        Assert.IsInstanceOf <RasterFactory>(raster.Factory);
                    }
                }
            }


            // argument out of range exceptions

            Assert.Throws <ArgumentOutOfRangeException>(() => { RasterFloat32 raster = new RasterFloat32(null, -1, 1, 1, 1, null); });
            Assert.Throws <ArgumentOutOfRangeException>(() => { RasterFloat32 raster = new RasterFloat32(null, 1, -1, 1, 1, null); });
            Assert.Throws <ArgumentOutOfRangeException>(() => { RasterFloat32 raster = new RasterFloat32(null, 1, 1, -1, 1, null); });
            Assert.Throws <ArgumentOutOfRangeException>(() => { RasterFloat32 raster = new RasterFloat32(null, 1, 1, 1, -1, null); });
            Assert.Throws <ArgumentOutOfRangeException>(() => { RasterFloat32 raster = new RasterFloat32(null, 1, 1, 1, 65, null); });
        }
Ejemplo n.º 2
0
        public void FloatRaster32ValueTest()
        {
            RasterFloat32 raster = new RasterFloat32(null, 3, 9, 27, 32, null);

            // single values

            for (Int32 bandIndex = 0; bandIndex < raster.NumberOfBands; bandIndex++)
            {
                for (Int32 rowIndex = 0; rowIndex < raster.NumberOfRows; rowIndex++)
                {
                    for (Int32 columnIndex = 0; columnIndex < raster.NumberOfColumns; columnIndex++)
                    {
                        raster.SetFloatValue(rowIndex, columnIndex, bandIndex, 1.0 / (bandIndex * rowIndex * columnIndex));

                        Assert.AreEqual(1.0 / (bandIndex * rowIndex * columnIndex), raster.GetFloatValue(rowIndex, columnIndex, bandIndex), 0.00001);
                    }
                }
            }


            // multiple values

            for (Int32 rowIndex = 0; rowIndex < raster.NumberOfRows; rowIndex++)
            {
                for (Int32 columnIndex = 0; columnIndex < raster.NumberOfColumns; columnIndex++)
                {
                    raster.SetFloatValues(rowIndex, columnIndex, new Double[] { 1.0 / rowIndex, 1.0 / columnIndex, 1.0 / (rowIndex * columnIndex) });

                    Assert.AreEqual(1.0 / rowIndex, raster.GetFloatValues(rowIndex, columnIndex)[0], 0.00001);
                    Assert.AreEqual(1.0 / columnIndex, raster.GetFloatValues(rowIndex, columnIndex)[1], 0.00001);
                    Assert.AreEqual(1.0 / (rowIndex * columnIndex), raster.GetFloatValues(rowIndex, columnIndex)[2], 0.00001);
                }
            }


            // argument out of range exceptions

            Assert.Throws <ArgumentOutOfRangeException>(() => raster.GetValue(-1, 0, 0));
            Assert.Throws <ArgumentOutOfRangeException>(() => raster.GetValue(raster.NumberOfRows, 0, 0));
            Assert.Throws <ArgumentOutOfRangeException>(() => raster.GetValue(0, -1, 0));
            Assert.Throws <ArgumentOutOfRangeException>(() => raster.GetValue(0, raster.NumberOfColumns, 0));
            Assert.Throws <ArgumentOutOfRangeException>(() => raster.GetValue(0, 0, -1));
            Assert.Throws <ArgumentOutOfRangeException>(() => raster.GetValue(0, 0, raster.NumberOfBands));

            Assert.Throws <ArgumentOutOfRangeException>(() => raster.SetValue(-1, 0, 0, 0));
            Assert.Throws <ArgumentOutOfRangeException>(() => raster.SetValue(raster.NumberOfRows, 0, 0, 0));
            Assert.Throws <ArgumentOutOfRangeException>(() => raster.SetValue(0, -1, 0, 0));
            Assert.Throws <ArgumentOutOfRangeException>(() => raster.SetValue(0, raster.NumberOfColumns, 0, 0));
            Assert.Throws <ArgumentOutOfRangeException>(() => raster.SetValue(0, 0, -1, 0));
            Assert.Throws <ArgumentOutOfRangeException>(() => raster.SetValue(0, 0, raster.NumberOfBands, 0));
        }