@Property(trials = 1000)
  public void StringSerializedDeserializesToSameValue(String originalString) throws IOException {
    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    DataOutputStream dataOutputStream = new DataOutputStream(byteArrayOutputStream);

    DataSerializer.writeString(originalString, dataOutputStream);
    dataOutputStream.flush();

    byte[] stringBytes = byteArrayOutputStream.toByteArray();
    DataInputStream dataInputStream = new DataInputStream(new ByteArrayInputStream(stringBytes));
    String returnedString = DataSerializer.readString(dataInputStream);

    assertEquals("Deserialized string matches original", originalString, returnedString);
  }
Tests the serialization and deserialization of randomly generated Strings.

The current implementation (0.7 or 0.8alpha2) of junit-quickcheck-generators only generates valid
codepoints, and that it doesn't tend to test strings that are particularly long, though the more
trials you run, the longer they get.
geode-core/src/test/java/org/apache/geode/internal/InternalDataSerializerQuickcheckStringTest.java