/** This method tests the {@code hasModifiedColumns} assertion method. */ @Test @NeedReload public void test_has_modified_columns() throws Exception { Changes changes = new Changes(source).setStartPointNow(); updateChangesForTests(); changes.setEndPointNow(); ChangeAssert changeAssert = assertThat(changes).change(3); ChangeAssert changeAssert2 = changeAssert.hasModifiedColumns("FIRSTNAME"); Assertions.assertThat(changeAssert).isSameAs(changeAssert2); }
/** This method tests the {@code changeOfCreation} with index navigation method. */ @Test @NeedReload public void test_change_of_creation_with_index_with_assertions() throws Exception { Changes changes = new Changes(source).setStartPointNow(); updateChangesForTests(); changes.setEndPointNow(); Field fieldPosition = ChangesAssert.class.getDeclaredField("changesPosition"); fieldPosition.setAccessible(true); Field fieldList = Changes.class.getDeclaredField("changesList"); fieldList.setAccessible(true); Field fieldIndex = PositionWithChanges.class.getDeclaredField("indexNextChangeMap"); fieldIndex.setAccessible(true); Field fieldChange = ChangeAssert.class.getDeclaredField("change"); fieldChange.setAccessible(true); ChangesAssert changesAssert = assertThat(changes); PositionWithChanges position = (PositionWithChanges) fieldPosition.get(changesAssert); Map<ChangeType, Map<String, Integer>> map = (Map<ChangeType, Map<String, Integer>>) fieldIndex.get(position); assertThat(map).hasSize(0); assertThat(map.get(null)).isNull(); ChangeAssert changeAssert0 = changesAssert.changeOfCreation(0); assertThat(map).hasSize(1); assertThat(map.get(null)).isNull(); assertThat(map.get(ChangeType.CREATION)).hasSize(1); assertThat(map.get(ChangeType.CREATION).get(null)).isEqualTo(1); ChangeAssert changeAssert1 = changesAssert.changeOfCreation(1); assertThat(map).hasSize(1); assertThat(map.get(null)).isNull(); assertThat(map.get(ChangeType.CREATION)).hasSize(1); assertThat(map.get(ChangeType.CREATION).get(null)).isEqualTo(2); ChangeAssert changeAssert2 = changesAssert.changeOfCreation(2); assertThat(map).hasSize(1); assertThat(map.get(null)).isNull(); assertThat(map.get(ChangeType.CREATION)).hasSize(1); assertThat(map.get(ChangeType.CREATION).get(null)).isEqualTo(3); try { changesAssert.changeOfCreation(3); fail("An exception must be raised"); } catch (AssertJDBException e) { Assertions.assertThat(e.getMessage()).isEqualTo("Index 3 out of the limits [0, 3["); } try { changesAssert.changeOfCreation(-1); fail("An exception must be raised"); } catch (AssertJDBException e) { Assertions.assertThat(e.getMessage()).isEqualTo("Index -1 out of the limits [0, 3["); } ChangeAssert changeAssertAgain0 = changesAssert.changeOfCreation(0); assertThat(changeAssert0).isSameAs(changeAssertAgain0); ChangesAssert changesAssertBis = assertThat(changes); PositionWithChanges positionBis = (PositionWithChanges) fieldPosition.get(changesAssertBis); map = (Map<ChangeType, Map<String, Integer>>) fieldIndex.get(positionBis); assertThat(map).hasSize(0); assertThat(map.get(null)).isNull(); ChangeAssert changeAssertBis0 = changesAssertBis.changeOfCreation(0); assertThat(map).hasSize(1); assertThat(map.get(null)).isNull(); assertThat(map.get(ChangeType.CREATION)).hasSize(1); assertThat(map.get(ChangeType.CREATION).get(null)).isEqualTo(1); ChangeAssert changeAssertBis1 = changeAssertBis0.changeOfCreation(1); assertThat(map).hasSize(1); assertThat(map.get(null)).isNull(); assertThat(map.get(ChangeType.CREATION)).hasSize(1); assertThat(map.get(ChangeType.CREATION).get(null)).isEqualTo(2); ChangeAssert changeAssertBis2 = changeAssertBis1.changeOfCreation(2); assertThat(map).hasSize(1); assertThat(map.get(null)).isNull(); assertThat(map.get(ChangeType.CREATION)).hasSize(1); assertThat(map.get(ChangeType.CREATION).get(null)).isEqualTo(3); try { changeAssertBis2.changeOfCreation(3); fail("An exception must be raised"); } catch (AssertJDBException e) { Assertions.assertThat(e.getMessage()).isEqualTo("Index 3 out of the limits [0, 3["); } try { changeAssertBis2.changeOfCreation(-1); fail("An exception must be raised"); } catch (AssertJDBException e) { Assertions.assertThat(e.getMessage()).isEqualTo("Index -1 out of the limits [0, 3["); } ChangeAssert changeAssertBisAgain0 = changeAssertBis2.changeOfCreation(0); assertThat(changeAssertBis0).isSameAs(changeAssertBisAgain0); List<Changes> changesList = (List<Changes>) fieldList.get(changes); assertThat(fieldChange.get(changeAssert0)) .isSameAs(fieldChange.get(changeAssertBis0)) .isSameAs(changesList.get(0)); assertThat(fieldChange.get(changeAssert1)) .isSameAs(fieldChange.get(changeAssertBis1)) .isSameAs(changesList.get(1)); assertThat(fieldChange.get(changeAssert2)) .isSameAs(fieldChange.get(changeAssertBis2)) .isSameAs(changesList.get(2)); }