assertEquals(tableName, deserialized.getTableName());
}
@Test
public void testIndexRecordFilterData_JsonRoundtrip() {
IndexRecordFilterData recordFilterData = new IndexRecordFilterData();
SchemaId newTypeSchemaId = new SchemaIdImpl("newtype".getBytes());
SchemaId oldTypeSchemaId = new SchemaIdImpl("oldtype".getBytes());
SchemaId changedFieldId = new SchemaIdImpl("changedfield".getBytes());
byte[] oldFieldValue = new byte[] { 1 };
byte[] newFieldValue = new byte[] { 2 };
recordFilterData.setNewRecordExists(true);
recordFilterData.setOldRecordExists(true);
recordFilterData.setNewRecordType(newTypeSchemaId);
recordFilterData.setOldRecordType(oldTypeSchemaId);
recordFilterData.addChangedField(changedFieldId, oldFieldValue, newFieldValue);
IndexRecordFilterData deserialized = doJsonRoundtrip(recordFilterData);
assertTrue(deserialized.getNewRecordExists());
assertTrue(deserialized.getOldRecordExists());
assertEquals(newTypeSchemaId, deserialized.getNewRecordType());
assertEquals(oldTypeSchemaId, deserialized.getOldRecordType());
List<FieldChange> fieldChanges = deserialized.getFieldChanges();
assertEquals(1, fieldChanges.size());
FieldChange fieldChange = fieldChanges.get(0);
assertEquals(changedFieldId, fieldChange.getId());
assertArrayEquals(oldFieldValue, fieldChange.getOldValue());