public void CreateInterpolator_ReturnedFunctionEvaluatedInMiddleOfXInputs_ReturnsMiddleOfYInputs() { var xCoords = new[] { 1.2, 2.0, 3.4 }; var yCoords = new[] { 15.5, 23.48, -41.5 }; var linearInterpolatorFactor = new LinearInterpolatorFactory(); Func <double, double> interpolator = linearInterpolatorFactor.CreateInterpolator(xCoords, yCoords); double x = 1.6; double y = interpolator(x); double expectedY = 15.5 + (23.48 - 15.5) / 2.0; Assert.Equal(expectedY, y); }
public void CreateInterpolator_ReturnsFunctionWhichEvaluatesToInputs() { var xCoords = new[] { 1.2, 1.8, 2.5 }; var yCoords = new[] { 46.56, -1.58, 8.556 }; var linearInterpolatorFactor = new LinearInterpolatorFactory(); Func <double, double> interpolator = linearInterpolatorFactor.CreateInterpolator(xCoords, yCoords); for (int i = 0; i < xCoords.Length; i++) { double x = xCoords[i]; double y = interpolator(x); double expectedY = yCoords[i]; Assert.Equal(expectedY, y); } }