public void LinearInterpolation() {
var lut = new Lut {
new LutPoint(1d, 1d),
new LutPoint(2d, 1d),
new LutPoint(4d, 5d),
new LutPoint(5d, 3d),
};
// points
Assert.AreEqual(1d, lut.InterpolateLinear(1d));
Assert.AreEqual(1d, lut.InterpolateLinear(2d));
Assert.AreEqual(3d, lut.InterpolateLinear(5d));
// clamping
Assert.AreEqual(1d, lut.InterpolateLinear(-1d));
Assert.AreEqual(3d, lut.InterpolateLinear(5.7d));
// interpolation itself
Assert.AreEqual(1d, lut.InterpolateLinear(1.5d));
Assert.AreEqual(2d, lut.InterpolateLinear(2.5d));
Assert.AreEqual(3d, lut.InterpolateLinear(3d));
Assert.AreEqual(4d, lut.InterpolateLinear(4.5d));
}