*/
public void test(TestHarness harness)
{
// check that array updates pass through
double[][] data = new double[][] {{1, 2}};
DataBufferDouble b = new DataBufferDouble(data, 2);
double[][] banks = b.getBankData();
harness.check(Arrays.equals(b.getBankData(), data));
data[0][0] = 3;
harness.check(banks[0][0] == 3);
// test where supplied array is bigger than 'size'
data = new double[][] {{1, 2, 3}};
b = new DataBufferDouble(data, 2);
banks = b.getBankData();
harness.check(Arrays.equals(b.getBankData(), data));
// test where offsets are specified
data = new double[][] {{1, 2, 3}, {4, 5, 6, 7}};
b = new DataBufferDouble(data, 2, new int[] {0, 1});
banks = b.getBankData();
harness.check(Arrays.equals(b.getBankData(), data));
// check that a single bank buffer returns a valid array
DataBufferDouble b2 = new DataBufferDouble(new double[] {1, 2}, 2);
banks = b2.getBankData();
harness.check(banks.length == 1);
harness.check(banks[0][0] == 1);
harness.check(banks[0][1] == 2);
// check that a multi bank buffer returns a valid array
DataBufferDouble b3 = new DataBufferDouble(new double[][] {{1}, {2}}, 1);
banks = b3.getBankData();
harness.check(banks.length == 2);
harness.check(banks[0][0] == 1);
harness.check(banks[1][0] == 2);
}