}
@Test
public void testUpdate() throws Exception {
QName name = new QName(namespace1, "testUpdate");
RecordType recordType = typeManager.newRecordType(name);
recordType = typeManager.createRecordType(recordType);
assertEquals(Long.valueOf(1), recordType.getVersion());
RecordType recordTypeV1 = typeManager.getRecordTypeByName(name, null);
assertEquals(Long.valueOf(1), typeManager.updateRecordType(recordTypeV1).getVersion());
recordType.addFieldTypeEntry(typeManager.newFieldTypeEntry(fieldType1.getId(), true));
RecordType recordTypeV2 = typeManager.updateRecordType(recordType);
assertEquals(Long.valueOf(2), recordTypeV2.getVersion());
assertEquals(Long.valueOf(2), typeManager.updateRecordType(recordTypeV2).getVersion());
recordType.addFieldTypeEntry(typeManager.newFieldTypeEntry(fieldType2.getId(), true));
RecordType recordTypeV3 = typeManager.updateRecordType(recordType);
assertEquals(Long.valueOf(3), recordTypeV3.getVersion());
assertEquals(Long.valueOf(3), typeManager.updateRecordType(recordType).getVersion());
recordType.addFieldTypeEntry(typeManager.newFieldTypeEntry(fieldType3.getId(), true));
RecordType recordTypeV4 = typeManager.updateRecordType(recordType);
assertEquals(Long.valueOf(4), recordTypeV4.getVersion());
assertEquals(Long.valueOf(4), typeManager.updateRecordType(recordType).getVersion());
recordType.setVersion(Long.valueOf(4));
assertEquals(recordType, typeManager.getRecordTypeByName(name, null));