### Question:
RightTPadder extends RightPadder { public String pad(String data, int maxLength) throws ISOException { if (data.length() > maxLength) { return super.pad(data.substring(0,maxLength), maxLength); } else { return super.pad(data, maxLength); } } RightTPadder(char pad); String pad(String data, int maxLength); static final RightTPadder SPACE_PADDER; }### Answer:
@Test public void testPad() throws Throwable { String result = new RightTPadder(' ').pad("10Characte", 10); assertEquals("10Characte", result, "result"); }
@Test public void testPad1() throws Throwable { String result = RightTPadder.SPACE_PADDER.pad("", 100); assertEquals(" ", result, "result"); }
@Test public void testPad2() throws Throwable { String result = new RightTPadder(' ').pad("testRightTPadderData", 0); assertEquals("", result, "result"); }
@Test public void testPadThrowsNullPointerException() throws Throwable { try { new RightTPadder(' ').pad(null, 100); fail("Expected NullPointerException to be thrown"); } catch (NullPointerException ex) { if (isJavaVersionAtMost(JAVA_14)) { assertNull(ex.getMessage(), "ex.getMessage()"); } else { assertEquals("Cannot invoke \"String.length()\" because \"data\" is null", ex.getMessage(), "ex.getMessage()"); } } }
@Test public void testPadThrowsStringIndexOutOfBoundsException() throws Throwable { try { new RightTPadder(' ').pad("testRightTPadderData", -1); fail("Expected StringIndexOutOfBoundsException to be thrown"); } catch (StringIndexOutOfBoundsException ex) { if (isJavaVersionAtMost(JAVA_1_8)) { assertEquals("String index out of range: -1", ex.getMessage(), "ex.getMessage()"); } else { assertEquals("begin 0, end -1, length 20", ex.getMessage(), "ex.getMessage()"); } } }