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 testDecode() {
      byte[] buffer = {0, 0, 0, 2, 0, 0, 0, 3, 'f', 'o', 'o', 0, 0, 0, 3, 'b', 'a', 'r'};
      String[] expected = {"foo", "bar"};
      assertArrayEquals(expected, adapter.deserialize(buffer, 0));
    }
test_case.class_method_signature: StringArrayAdapterTest.testDecode()
test_case.full_signature: @Test public void testDecode()
test_case.identifier: testDecode
test_case.invocations: assertArrayEquals deserialize
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testDecode()
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 String[] deserialize(byte[] array, int pos) {
      int cursor = pos;
      int length = Serialization.readInt(array, cursor);
      cursor += Serialization.SIZE_OF_INT;
      String[] stringArray = new String[length];
      for (int i = 0; i < length; i++) {
        String string = Serialization.readString(array, cursor);
        stringArray[i] = string;
        cursor += Serialization.SIZE_OF_INT + Serialization.readInt(array, cursor);
      }
      return stringArray;
    }
focal_method.class_method_signature: StringArrayAdapter.deserialize(byte[] array, int pos)
focal_method.full_signature: @Override public String[] deserialize(byte[] array, int pos)
focal_method.identifier: deserialize
focal_method.invocations: readInt readString readInt
focal_method.modifiers: @Override public
focal_method.parameters: (byte[] array, int pos)
focal_method.return: String[]
focal_method.signature: String[] deserialize(byte[] array, int pos)