ImplicitTimeAxis implements AbstractAxis { @Override public void shift(double offset) { this.start += (long) offset; this.end += (long) offset; }  @Override long getStartAsLong(); @Override long getEndAsLong(); @Override void setStart(long start); @Override void setEnd(long end); @Override double getStart(); @Override double getEnd(); @Override void setStart(double start); @Override void setEnd(double end); @Override void shift(double offset); @Override AxisVisibleOrientation getVisibleOrientation();  }
@Test public void testShift() { for (int i = 0; i < TEST_COUNT; i++) { for (int s = 0; s < TEST_COUNT; s++) { for (boolean longStart : BOOLEANS) { for (boolean longEnd : BOOLEANS) { if (longStart) testAxis.setStart( TEST_STARTS[i]); else testAxis.setStart((double) TEST_STARTS[i]); if (longEnd) testAxis.setEnd ( TEST_ENDS [i]); else testAxis.setEnd ((double) TEST_ENDS [i]); testAxis.shift(TEST_SHIFTS[s]); Assert.assertEquals(testAxis.getStartAsLong(), TEST_STARTS[i] + TEST_SHIFTS[s]); Assert.assertEquals(testAxis.getEndAsLong() , TEST_ENDS [i] + TEST_SHIFTS[s]); Assert.assertEquals(testAxis.getStart() , (double) (TEST_STARTS[i]+ TEST_SHIFTS[s]), EPSILON); Assert.assertEquals(testAxis.getEnd() , (double) (TEST_ENDS [i]+ TEST_SHIFTS[s]), EPSILON); } } } } }