### Question:
BASE1Header extends BaseHeader { public void setBatchNumber(int i) { header[17] = (byte) (i & 0xFF); } 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 testSetBatchNumber() throws Throwable { BASE1Header bASE1Header = new BASE1Header(); byte[] header = new byte[18]; bASE1Header.unpack(header); bASE1Header.setBatchNumber(100); assertFalse(Arrays.equals(header, bASE1Header.header), "bASE1Header.header"); }
@Test public void testSetBatchNumberThrowsArrayIndexOutOfBoundsException() throws Throwable { BASE1Header bASE1Header = new BASE1Header(); byte[] header = new byte[3]; bASE1Header.unpack(header); try { bASE1Header.setBatchNumber(100); fail("Expected ArrayIndexOutOfBoundsException to be thrown"); } catch (ArrayIndexOutOfBoundsException ex) { if (isJavaVersionAtMost(JAVA_10)) { assertEquals("17", ex.getMessage(), "ex.getMessage()"); } else { assertEquals("Index 17 out of bounds for length 3", ex.getMessage(), "ex.getMessage()"); } assertTrue(Arrays.equals(header, bASE1Header.header), "bASE1Header.header"); } }