### Question:
AbstractAFPObject implements Streamable { protected void copySF(byte[] data, byte type, byte category) { copySF(data, SF_CLASS, type, category); }    }### Answer:
@Test public void testCopySFStatic() { byte[] actual = new byte[9]; Arrays.fill(actual, (byte)-1); S.copySF(actual, (byte)0, (byte)0, (byte)0); assertTrue(Arrays.equals(actual, header)); byte[] expected2 = new byte[9]; System.arraycopy(header, 0, expected2, 0, header.length); final byte clazz = (byte) 0x01; final byte type = (byte) 0x02; final byte catagory = (byte) 0x03; expected2[3] = clazz; expected2[4] = type; expected2[5] = catagory; AbstractAFPObject.copySF(actual, clazz, type, catagory); assertTrue(Arrays.equals(actual, expected2)); }
@Test public void testCopySF() { byte[] expected = new byte[9]; S.copySF(expected, (byte) 0xD3, (byte)0, (byte)0); byte[] actual = new byte[9]; Arrays.fill(actual, (byte)-1); getSut().copySF(actual, (byte)0, (byte)0); assertTrue(Arrays.equals(actual, expected)); byte[] expected2 = new byte[9]; System.arraycopy(expected, 0, expected2, 0, expected.length); final byte type = (byte)1; final byte catagory = (byte)2; expected2[4] = type; expected2[5] = catagory; getSut().copySF(actual, type, catagory); assertTrue(Arrays.equals(actual, expected2)); }