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)); }
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); }
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. }
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. }
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); }
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); }
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); }
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); }
public void FailWithPointAndCoordinatesWithWrongDimension() { var target = new IdwInterpolator(dimensions: 2, power: 2, numberOfNeighbours: 5); target.AddPoint(1, 1, 1, 1); // One dimension too much. }
public void FailWithPointAndMissingCoordinates() { var target = new IdwInterpolator(dimensions: 2, power: 2, numberOfNeighbours: 5); target.AddPoint(1, null); // Coordinates missing. }
public void FailWithNullPointRange() { var target = new IdwInterpolator(dimensions: 2, power: 2, numberOfNeighbours: 5); target.AddPointRange(null); }
public void FailNumberOfNeighboursOutOfRange() { // ReSharper disable once UnusedVariable var target = new IdwInterpolator(dimensions: 2, power: 2, numberOfNeighbours: 0); }
public void FailPowerOutOfRange() { // ReSharper disable once UnusedVariable var target = new IdwInterpolator(dimensions: 2, power: 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. }
public void FailWithPointAndMissingCoordinates() { var target = new IdwInterpolator(dimensions: 2, power: 2, numberOfNeighbours: 5); Assert.Throws <ArgumentNullException>(() => target.AddPoint(1, null)); // Coordinates missing. }
public void FailWithNullPointRange() { var target = new IdwInterpolator(dimensions: 2, power: 2, numberOfNeighbours: 5); Assert.Throws <ArgumentNullException>(() => target.AddPointRange(null)); }