Ejemplo n.º 1
0
        public void FailWithTooFewPoints()
        {
            var target = new IdwInterpolator(dimensions: 2, power: 2, numberOfNeighbours: 5);

            target.AddPointRange(_pointRange.Take(4).ToList()); // Not enough points.

            Assert.Throws <IndexOutOfRangeException>(() => target.Interpolate(1, 1));
        }
Ejemplo n.º 2
0
        public void FailWithTooFewPoints()
        {
            var target = new IdwInterpolator(dimensions: 2, power: 2, numberOfNeighbours: 5);

            target.AddPointRange(_pointRange.Take(4).ToList()); // Not enough points.

            target.Interpolate(1, 1);
        }
Ejemplo n.º 3
0
        public void FailInterpolateWithWrongDimension()
        {
            var target = new IdwInterpolator(dimensions: 2, power: 2, numberOfNeighbours: 5);

            target.AddPointRange(_pointRange);

            target.Interpolate(1, 1, 1); // One dimension to much.
        }
Ejemplo n.º 4
0
        public void FailInterpolateWithWrongDimension()
        {
            var target = new IdwInterpolator(dimensions: 2, power: 2, numberOfNeighbours: 5);

            target.AddPointRange(_pointRange);

            Assert.Throws <ArgumentException>(() => target.Interpolate(1, 1, 1)); // One dimension to much.
        }
Ejemplo n.º 5
0
        public void TestInterpolateWithPointHit()
        {
            var target = new IdwInterpolator(dimensions: 2, power: 2, numberOfNeighbours: 4);

            target.AddPointRange(_pointRange); // Test adding point range.

            var result = target.Interpolate(1, 1);

            Assert.AreEqual(2.2, result.Value);
            Assert.AreEqual(1, result.Point.Value.Coordinates[0]);
            Assert.AreEqual(1, result.Point.Value.Coordinates[1]);
            Assert.AreEqual(InterpolationResult.ResultOptions.Hit, result.Result);
        }
Ejemplo n.º 6
0
        public void TestWeightedInterpolation()
        {
            var target = new IdwInterpolator(dimensions: 2, power: 2, numberOfNeighbours: 4);

            foreach (var point in _pointRange)
            {
                target.AddPoint(point.Value, point.Coordinates); // Test adding bare values.
            }

            var result = target.Interpolate(1.5, 1.5);

            Assert.AreEqual(2.875, result.Value, 0.001);
            Assert.AreEqual(InterpolationResult.ResultOptions.Interpolated, result.Result);
            Assert.IsNull(result.Point);
        }
Ejemplo n.º 7
0
        public void TestNearestNeighbourInterpolation()
        {
            var target = new IdwInterpolator(dimensions: 2, power: 2, numberOfNeighbours: 1);

            foreach (var point in _pointRange)
            {
                target.AddPoint(point); // Test adding points.
            }

            var result = target.Interpolate(1.1, 1.1);

            Assert.AreEqual(2.2, result.Value);
            Assert.AreEqual(1, result.Point.Value.Coordinates[0]);
            Assert.AreEqual(1, result.Point.Value.Coordinates[1]);
            Assert.AreEqual(InterpolationResult.ResultOptions.NearestNeighbor, result.Result);
        }
Ejemplo n.º 8
0
        public void FailWithPointRangeWithWrongDimension()
        {
            var target = new IdwInterpolator(dimensions: 2, power: 2, numberOfNeighbours: 5);

            var pointRange = new List <Point>
            {
                new Point(1.0, 0, 0),
                new Point(1.1, 0, 1),
                new Point(1.2, 0, 2),
                new Point(2.0, 1, 0),
                new Point(2.2, 1, 1),
                new Point(2.4, 1) // Dimension wrong.
            };

            target.AddPointRange(pointRange);
        }
Ejemplo n.º 9
0
        public void FailWithPointAndCoordinatesWithWrongDimension()
        {
            var target = new IdwInterpolator(dimensions: 2, power: 2, numberOfNeighbours: 5);

            target.AddPoint(1, 1, 1, 1); // One dimension too much.
        }
Ejemplo n.º 10
0
        public void FailWithPointAndMissingCoordinates()
        {
            var target = new IdwInterpolator(dimensions: 2, power: 2, numberOfNeighbours: 5);

            target.AddPoint(1, null); // Coordinates missing.
        }
Ejemplo n.º 11
0
        public void FailWithNullPointRange()
        {
            var target = new IdwInterpolator(dimensions: 2, power: 2, numberOfNeighbours: 5);

            target.AddPointRange(null);
        }
Ejemplo n.º 12
0
 public void FailNumberOfNeighboursOutOfRange()
 {
     // ReSharper disable once UnusedVariable
     var target = new IdwInterpolator(dimensions: 2, power: 2, numberOfNeighbours: 0);
 }
Ejemplo n.º 13
0
 public void FailPowerOutOfRange()
 {
     // ReSharper disable once UnusedVariable
     var target = new IdwInterpolator(dimensions: 2, power: 0);
 }
Ejemplo n.º 14
0
        public void FailWithPointAndCoordinatesWithWrongDimension()
        {
            var target = new IdwInterpolator(dimensions: 2, power: 2, numberOfNeighbours: 5);

            Assert.Throws <ArgumentException>(() => target.AddPoint(1, 1, 1, 1)); // One dimension too much.
        }
Ejemplo n.º 15
0
        public void FailWithPointAndMissingCoordinates()
        {
            var target = new IdwInterpolator(dimensions: 2, power: 2, numberOfNeighbours: 5);

            Assert.Throws <ArgumentNullException>(() => target.AddPoint(1, null)); // Coordinates missing.
        }
Ejemplo n.º 16
0
        public void FailWithNullPointRange()
        {
            var target = new IdwInterpolator(dimensions: 2, power: 2, numberOfNeighbours: 5);

            Assert.Throws <ArgumentNullException>(() => target.AddPointRange(null));
        }