@Test public void testConverters() { int[] start = new int[1]; int[] stop = new int[1]; int[] step = new int[1]; int[] shape = new int[] {12}; Slice.convertFromSlice(new Slice[] {null}, shape, start, stop, step); assertEquals(0, start[0]); assertEquals(12, stop[0]); assertEquals(1, step[0]); Slice.convertFromSlice( new Slice[] {new Slice(1, 11, 2).setLength(12)}, shape, start, stop, step); assertEquals(1, start[0]); assertEquals(11, stop[0]); assertEquals(2, step[0]); Slice.convertFromSlice(new Slice[] {new Slice().setLength(12)}, shape, start, stop, step); assertEquals(0, start[0]); assertEquals(12, stop[0]); assertEquals(1, step[0]); Slice[] sl = Slice.convertToSlice(start, stop, step); assertEquals(1, sl.length); assertEquals(0, (int) sl[0].getStart()); assertEquals(12, (int) sl[0].getStop()); assertEquals(1, sl[0].getStep()); sl = Slice.convertFromString("[:,:,:,:]"); assertEquals(4, sl.length); assertEquals(0, (int) sl[0].getStart()); assertEquals(0, (int) sl[1].getStart()); assertEquals(0, (int) sl[2].getStart()); assertEquals(0, (int) sl[3].getStart()); assertEquals(null, sl[0].getStop()); assertEquals(null, sl[1].getStop()); assertEquals(null, sl[2].getStop()); assertEquals(null, sl[3].getStop()); assertEquals(1, sl[0].getStep()); assertEquals(1, sl[1].getStep()); assertEquals(1, sl[2].getStep()); assertEquals(1, sl[3].getStep()); sl = Slice.convertFromString("[::]"); assertEquals(0, (int) sl[0].getStart()); assertEquals(null, sl[0].getStop()); assertEquals(1, sl[0].getStep()); sl = Slice.convertFromString("[1::]"); assertEquals(1, (int) sl[0].getStart()); assertEquals(null, sl[0].getStop()); assertEquals(1, sl[0].getStep()); sl = Slice.convertFromString("[:3:]"); assertEquals(0, (int) sl[0].getStart()); assertEquals(3, (int) sl[0].getStop()); assertEquals(1, sl[0].getStep()); sl = Slice.convertFromString("[::-1]"); assertEquals(0, (int) sl[0].getStart()); assertEquals(null, sl[0].getStop()); assertEquals(-1, sl[0].getStep()); sl = Slice.convertFromString("[10:2:-2]"); assertEquals(10, (int) sl[0].getStart()); assertEquals(2, (int) sl[0].getStop()); assertEquals(-2, sl[0].getStep()); }