/** * Returns all {@link AbstractClassSensorAssignment} that are "added" as result of this update. * If profile was activated then it means that all assignments after the update are considered * for adding. * * @return Returns all {@link AbstractClassSensorAssignment} that are "removed". */ public Collection<AbstractClassSensorAssignment<?>> getAddedSensorAssignments() { if (isProfileDeactivated()) { // if it was deactivated then nothing is for adding return Collections.emptyList(); } else if (isProfileActivated()) { // if activated then we consider all new assignment to be for adding return getAllSensorAssignments(after); } else { // otherwise find the difference return getAssignmentsDifference(after, before); } }
/** * Returns all {@link AbstractClassSensorAssignment} that are "removed" as result of this * update. If profile was deactivated then it means that all assignments before the update are * considered for removal. * * @return Returns all {@link AbstractClassSensorAssignment} that are "removed". */ public Collection<AbstractClassSensorAssignment<?>> getRemovedSensorAssignments() { if (isProfileDeactivated()) { // if deactivated then we consider all old assignment to be for removal return getAllSensorAssignments(before); } else if (isProfileActivated()) { // if it was activated then nothing is for removal return Collections.emptyList(); } else { // otherwise find the difference return getAssignmentsDifference(before, after); } }
@Test public void stillNotActive() { when(old.getId()).thenReturn(ID); when(updated.getId()).thenReturn(ID); when(old.isActive()).thenReturn(false); when(updated.isActive()).thenReturn(false); ProfileUpdateEvent event = new ProfileUpdateEvent(this, old, updated); boolean activated = event.isProfileActivated(); assertThat(activated, is(false)); } }
@Test public void activated() { when(old.getId()).thenReturn(ID); when(updated.getId()).thenReturn(ID); when(old.isActive()).thenReturn(false); when(updated.isActive()).thenReturn(true); ProfileUpdateEvent event = new ProfileUpdateEvent(this, old, updated); boolean activated = event.isProfileActivated(); assertThat(activated, is(true)); }
@Test public void wasActive() { when(old.getId()).thenReturn(ID); when(updated.getId()).thenReturn(ID); when(old.isActive()).thenReturn(true); when(updated.isActive()).thenReturn(true); ProfileUpdateEvent event = new ProfileUpdateEvent(this, old, updated); boolean activated = event.isProfileActivated(); assertThat(activated, is(false)); }