### Question:
BASE1Header extends BaseHeader { public void setRtCtl(int i) { header[11] = (byte) i; } BASE1Header();  BASE1Header(String source, String destination);  BASE1Header(String source, String destination, int format);  BASE1Header(byte[] header); int getHLen(); void setHFormat(int hformat); int getFormat(); void setRtCtl(int i); void setFlags(int i); void setStatus(int i); void setBatchNumber(int i); void setFormat(int format); void setLen(int len); void setDestination(String dest); void setSource(String src); String getSource(); String getDestination(); void swapDirection(); boolean isRejected(); String getRejectCode(); String formatHeader(); static final int LENGTH; }### Answer:
@Test public void testSetRtCtl() throws Throwable { BASE1Header bASE1Header = new BASE1Header(); byte[] header = new byte[22]; bASE1Header.unpack(header); bASE1Header.setRtCtl(100); assertFalse(Arrays.equals(header, bASE1Header.header), "bASE1Header.header"); }
@Test public void testSetRtCtlThrowsArrayIndexOutOfBoundsException() throws Throwable { BASE1Header bASE1Header = new BASE1Header(); byte[] header = new byte[2]; bASE1Header.unpack(header); try { bASE1Header.setRtCtl(100); fail("Expected ArrayIndexOutOfBoundsException to be thrown"); } catch (ArrayIndexOutOfBoundsException ex) { if (isJavaVersionAtMost(JAVA_10)) { assertEquals("11", ex.getMessage(), "ex.getMessage()"); } else { assertEquals("Index 11 out of bounds for length 2", ex.getMessage(), "ex.getMessage()"); } assertTrue(Arrays.equals(header, bASE1Header.header), "bASE1Header.header"); } }