* Tests that elements can be set, retrieved and removed for a 2D container
*/
public void testTwoD()
{
// Set and get them one at a time.
NDimensionalIndex index =
new NDimensionalIndex(new int[] { 1, 1 });
container.set(index, "a");
assertEquals("failed with 2d index ", "a", container.get(index));
index = new NDimensionalIndex(new int[] { 0, 1 });
container.set(index, "b");
assertEquals("failed with 2d index ", "b", container.get(index));
index = new NDimensionalIndex(new int[] { 1, 0 });
container.set(index, "c");
assertEquals("failed with 2d index ", "c", container.get(index));
index = new NDimensionalIndex(new int[] { 0, 0 });
container.set(index, "d");
assertEquals("failed with 2d index ", "d", container.get(index));
// Now retrieve all of them
index = new NDimensionalIndex(new int[] { 1, 1 });
assertEquals("failed with 2d index ", "a", container.get(index));
index = new NDimensionalIndex(new int[] { 0, 1 });
assertEquals("failed with 2d index ", "b", container.get(index));
index = new NDimensionalIndex(new int[] { 1, 0 });
assertEquals("failed with 2d index ", "c", container.get(index));
index = new NDimensionalIndex(new int[] { 0, 0 });
assertEquals("failed with 2d index ", "d", container.get(index));
assertEquals("should be 2 elements in dim 1", 2,
container.getNumCellsInDimension(index));
assertEquals("should be 2 elements in dim 0", 2,
container.getNumCellsInDimension(
new NDimensionalIndex(new int[] {0})));
// Retrieve something that doesn't exist
index = new NDimensionalIndex(new int[] { 1, 2 });
assertNull("failed with 2d index ", container.get(index));
index = new NDimensionalIndex(new int[] { 2, 1 });
assertNull("failed with 2d index ", container.get(index));
// Amend an element that does exist and check all
index = new NDimensionalIndex(new int[] { 0, 1 });
container.set(index, "e");
assertEquals("failed with 2d index ", "e", container.get(index));
index = new NDimensionalIndex(new int[] { 1, 1 });
assertEquals("failed with 2d index ", "a", container.get(index));
index = new NDimensionalIndex(new int[] { 1, 0 });
assertEquals("failed with 2d index ", "c", container.get(index));
index = new NDimensionalIndex(new int[] { 0, 0 });
assertEquals("failed with 2d index ", "d", container.get(index));
// Remove an element and check all
index = new NDimensionalIndex(new int[] { 0, 1 });
container.remove(index);
assertNull("failed with 2d index ", container.get(index));
index = new NDimensionalIndex(new int[] { 1, 1 });
assertEquals("failed with 2d index ", "a", container.get(index));
index = new NDimensionalIndex(new int[] { 1, 0 });
assertEquals("failed with 2d index ", "c", container.get(index));
index = new NDimensionalIndex(new int[] { 0, 0 });
assertEquals("failed with 2d index ", "d", container.get(index));
assertEquals("should be 1 element in row 0", 1,
container.getNumCellsInDimension(index));
assertEquals("should be 2 rows", 2,
container.getNumCellsInDimension(
new NDimensionalIndex(new int[] {0})));
}