test_class.file: api/src/test/java/edu/wpi/first/shuffleboard/api/sources/recording/serialization/StringArrayAdapterTest.java
test_class.identifier: StringArrayAdapterTest
test_class.superclass: extends AbstractAdapterTest<String[]>
test_case.body: @Test
    public void testEncodeEmpty() {
      String[] array = {};
      byte[] expected = {0, 0, 0, 0};
      assertArrayEquals(expected, adapter.serialize(array));
    }
test_case.class_method_signature: StringArrayAdapterTest.testEncodeEmpty()
test_case.full_signature: @Test public void testEncodeEmpty()
test_case.identifier: testEncodeEmpty
test_case.invocations: assertArrayEquals serialize
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testEncodeEmpty()
focal_class.file: api/src/main/java/edu/wpi/first/shuffleboard/api/sources/recording/serialization/StringArrayAdapter.java
focal_class.identifier: StringArrayAdapter
focal_class.class_method_signature: StringArrayAdapter.StringArrayAdapter()
focal_class.full_signature: public  StringArrayAdapter()
focal_class.identifier: StringArrayAdapter
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  StringArrayAdapter()
focal_class.class_method_signature: StringArrayAdapter.serialize(String[] data)
focal_class.full_signature: @Override public byte[] serialize(String[] data)
focal_class.identifier: serialize
focal_class.modifiers: @Override public
focal_class.parameters: (String[] data)
focal_class.return: byte[]
focal_class.signature: byte[] serialize(String[] data)
focal_class.class_method_signature: StringArrayAdapter.deserialize(byte[] array, int pos)
focal_class.full_signature: @Override public String[] deserialize(byte[] array, int pos)
focal_class.identifier: deserialize
focal_class.modifiers: @Override public
focal_class.parameters: (byte[] array, int pos)
focal_class.return: String[]
focal_class.signature: String[] deserialize(byte[] array, int pos)
focal_class.class_method_signature: StringArrayAdapter.getSerializedSize(String[] value)
focal_class.full_signature: @Override public int getSerializedSize(String[] value)
focal_class.identifier: getSerializedSize
focal_class.modifiers: @Override public
focal_class.parameters: (String[] value)
focal_class.return: int
focal_class.signature: int getSerializedSize(String[] value)
focal_class.superclass: extends TypeAdapter<String[]>
focal_method.body: @Override
    public byte[] serialize(String[] data) {
      if (data.length == 0) {
        return new byte[Serialization.SIZE_OF_INT];
      }
      byte[] buf = new byte[Serialization.sizeOfStringArray(data)];
  
      int pos = 0;
  
      Serialization.put(buf, Serialization.toByteArray(data.length), pos);
      pos += Serialization.SIZE_OF_INT;
  
      for (String string : data) {
        byte[] arr = Serialization.encode(string);
        Serialization.put(buf, arr, pos);
        pos += arr.length;
      }
  
      return buf;
    }
focal_method.class_method_signature: StringArrayAdapter.serialize(String[] data)
focal_method.full_signature: @Override public byte[] serialize(String[] data)
focal_method.identifier: serialize
focal_method.invocations: sizeOfStringArray put toByteArray encode put
focal_method.modifiers: @Override public
focal_method.parameters: (String[] data)
focal_method.return: byte[]
focal_method.signature: byte[] serialize(String[] data)