### Question:
EditTable { public EdOp get(int i, int j) { int bytenum = (i / 4) * height + (i % 4) * (height / 4) + (j / 4) + ((i % 4) * (height % 4) + (j % 4)) / 4; int offset = (2 * ((i % 8) * (height % 8) + (j % 8))) % 8; try { boolean low = getBit(bytes[bytenum], offset); boolean high = getBit(bytes[bytenum], offset + 1); if (low) { if (high) { return EdOp.SUBSTITUTE; } else { return EdOp.DELETE; } } else { if (high) { return EdOp.INSERT; } else { return EdOp.KEEP; } } } catch (ArrayIndexOutOfBoundsException ex) { throw new IllegalArgumentException("Forbiden acces to " + "cell (" + i + "," + j + ") in EditTable of size (" + width + "," + height + ")"); } } EditTable(int width, int height); EdOp get(int i, int j); void set(int i, int j, EdOp op); @Override String toString(); EditSequence path();  }### Answer:
@Test public void testGet() { System.out.println("get"); EditTable instance = new EditTable(2, 2); for (int i = 0; i < 2; ++i) { for (int j = 0; j < 2; ++j) { if (i == j) { instance.set(i, j, EdOp.KEEP); } else { instance.set(i, j, EdOp.SUBSTITUTE); } } } for (int i = 0; i < 2; ++i) { for (int j = 0; j < 2; ++j) { if (i == j) { assertEquals(EdOp.KEEP, instance.get(i, j)); } else { assertEquals(EdOp.SUBSTITUTE, instance.get(i, j)); } } } }