ColumnMap { public <T> T mapSlot(int idx, Tuple<T> tuple) { idx = insertOrder[idx] ; return tuple.get(idx) ; } ColumnMap(String input, String output); <T> ColumnMap(String label, List<T> input, List<T> output); <T> ColumnMap(String label, T[] input, T[] output);  ColumnMap(String label, int...elements); int length(); T fetchSlot(int idx, Tuple<T> tuple); T fetchSlot(int idx, T[] tuple); T mapSlot(int idx, Tuple<T> tuple); T mapSlot(int idx, T[] tuple); int mapSlotIdx(int idx); int fetchSlotIdx(int idx); Tuple<T> map(Tuple<T> src); Tuple<T> unmap(Tuple<T> src); @Override String toString(); String getLabel(); String mapName(String word); String unmapName(String word);  }
@Test public void remap1() { ColumnMap x = new ColumnMap("SPO->POS", 2,0,1) ; Integer[] array = {0,1,2 } ; assertEquals(Integer.valueOf(2), x.mapSlot(0, array) ) ; assertEquals(Integer.valueOf(0), x.mapSlot(1, array) ) ; assertEquals(Integer.valueOf(1), x.mapSlot(2, array) ) ; }