public void testInterpolation2D() {
final double[][] dimensions = new double[][]{{0, 1}, {0, 1}};
final double[] values = new double[]{0, 1, 2, 3};
final LookupTable lut = new LookupTable(values, dimensions);
assertEquals(2, lut.getDimensionCount());
assertEquals(0.0, lut.getDimension(0).getMin(), 0.0);
assertEquals(1.0, lut.getDimension(0).getMax(), 0.0);
assertEquals(0.0, lut.getDimension(1).getMin(), 0.0);
assertEquals(1.0, lut.getDimension(1).getMax(), 0.0);
assertEquals(0.0, lut.getValue(0.0, 0.0), 0.0);
assertEquals(1.0, lut.getValue(0.0, 1.0), 0.0);
assertEquals(2.0, lut.getValue(1.0, 0.0), 0.0);
assertEquals(3.0, lut.getValue(1.0, 1.0), 0.0);
assertEquals(0.5, lut.getValue(0.0, 0.5), 0.0);
assertEquals(1.5, lut.getValue(0.5, 0.5), 0.0);
assertEquals(2.5, lut.getValue(1.0, 0.5), 0.0);
}