@Test public void test_inheritance() { DefaultChangeLogRegister register = new DefaultChangeLogRegister(true); ChangeLogFilter changeFilter = register.getChangeFilter(ProductConfiguration.class); assertNotNull(changeFilter); DefaultChangeLogRegister.BasicFilter basicFilter = (DefaultChangeLogRegister.BasicFilter) changeFilter; assertTrue(basicFilter.includeInserts); }
@Test public void test_defaultInsertFalse() { DefaultChangeLogRegister register = new DefaultChangeLogRegister(false); assertNull(register.getChangeFilter(Address.class)); ChangeLogFilter changeFilter = register.getChangeFilter(Customer.class); DefaultChangeLogRegister.UpdateFilter updateFilter = (DefaultChangeLogRegister.UpdateFilter) changeFilter; assertFalse(updateFilter.includeInserts); assertThat(updateFilter.updateProperties).containsExactly("name", "status"); changeFilter = register.getChangeFilter(Country.class); DefaultChangeLogRegister.BasicFilter countryFilter = (DefaultChangeLogRegister.BasicFilter) changeFilter; assertTrue(countryFilter.includeInserts); // use default setting changeFilter = register.getChangeFilter(Contact.class); DefaultChangeLogRegister.BasicFilter contactFilter = (DefaultChangeLogRegister.BasicFilter) changeFilter; assertFalse(contactFilter.includeInserts); }