@Test public void testSliceEnd() { Slice sl; sl = new Slice().setLength(12); assertEquals(11, sl.getEnd()); sl = new Slice(null, null, 2).setLength(12); assertEquals(10, sl.getEnd()); sl = new Slice(1, null).setLength(12); assertEquals(11, sl.getEnd()); sl = new Slice(1, null, 2).setLength(12); assertEquals(11, sl.getEnd()); sl = new Slice(1, null, -2).setLength(12); assertEquals(1, sl.getEnd()); sl = new Slice(null, null, -1).setLength(12); assertEquals(0, sl.getEnd()); sl = new Slice(null, null, -2).setLength(12); assertEquals(1, sl.getEnd()); sl = new Slice(12); assertEquals(11, sl.getEnd()); sl = new Slice(1, 12); assertEquals(11, sl.getEnd()); try { sl = new Slice(12, 1); sl.getEnd(); fail("No exception thrown"); } catch (IllegalStateException ise) { // passed } catch (Exception e) { fail("Wrong exception type passed, this should give an IllegalStateException"); } sl = new Slice(1, 12, 2); assertEquals(11, sl.getEnd()); sl = new Slice(1, 12, 12); assertEquals(1, sl.getEnd()); sl = new Slice(12, 1, -1); assertEquals(2, sl.getEnd()); sl = new Slice(12, 1, -2); assertEquals(2, sl.getEnd()); sl = new Slice(12, 1, -12); assertEquals(12, sl.getEnd()); sl = new Slice(null, 12, 2); assertEquals(10, sl.getEnd()); try { sl = new Slice(null, 12, -2); sl.getEnd(); fail("No exception thrown"); } catch (IllegalStateException ise) { // passed } catch (Exception e) { fail("Wrong exception type passed, this should give an IllegalStateException"); } try { sl = new Slice(null, null, -2); sl.getEnd(); fail("No exception thrown"); } catch (IllegalStateException ise) { // passed } catch (Exception e) { fail("Wrong exception type passed, this should give an IllegalStateException"); } }