@Test
public void testAvroCoderTreeMapDeterminism() throws Exception, NonDeterministicException {
TreeMapField size1 = new TreeMapField();
TreeMapField size2 = new TreeMapField();
size1.field.put("hello", "world");
size1.field.put("another", "entry");
size2.field.put("another", "entry");
size2.field.put("hello", "world");
AvroCoder<TreeMapField> coder = AvroCoder.of(TreeMapField.class);
coder.verifyDeterministic();
ByteArrayOutputStream outStream1 = new ByteArrayOutputStream();
ByteArrayOutputStream outStream2 = new ByteArrayOutputStream();
Context context = Context.NESTED;
coder.encode(size1, outStream1, context);
coder.encode(size2, outStream2, context);
assertTrue(Arrays.equals(outStream1.toByteArray(), outStream2.toByteArray()));
}