/** * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. * * Copyright 2012-2016 the original author or authors. */ package org.assertj.db.navigation; import org.assertj.core.api.Assertions; import org.assertj.db.api.ChangeAssert; import org.assertj.db.api.ChangesAssert; import org.assertj.db.common.AbstractTest; import org.assertj.db.common.NeedReload; import org.assertj.db.output.ChangeOutputter; import org.assertj.db.output.ChangesOutputter; import org.assertj.db.type.Changes; import org.junit.Test; import java.lang.reflect.Field; import static org.assertj.db.api.Assertions.assertThat; import static org.assertj.db.output.Outputs.output; /** * Tests on {@link ToChange} interface. * * @author RĂ©gis Pouiller * */ public class ToChange_Test extends AbstractTest { /** * This method tests the {@code ToChange} navigation interfaces. */ @Test @NeedReload public void test_to_change_navigation_with_assertions() throws Exception { Changes changes = new Changes(source).setStartPointNow(); updateChangesForTests(); changes.setEndPointNow(); Field fieldChanges = ChangesAssert.class.getDeclaredField("changes"); fieldChanges.setAccessible(true); ChangesAssert changesAssert = assertThat(changes); ChangesAssert changesAssertCreation = changesAssert.ofCreation(); ChangesAssert changesAssertModification = changesAssert.ofModification(); ChangesAssert changesAssertDeletion = changesAssert.ofDeletion(); ChangeAssert changeAssertCreation0 = changesAssert.changeOfCreation(); ChangeAssert changeAssertCreation1 = changesAssertCreation.changeOfCreation(); ChangeAssert changeAssertCreation0Bis = changesAssertCreation.changeOfCreation(0); ChangeAssert changeAssertCreation1Bis = changesAssert.changeOfCreation(1); Assertions.assertThat(changeAssertCreation0).isSameAs(changeAssertCreation0Bis); Assertions.assertThat(changeAssertCreation1).isSameAs(changeAssertCreation1Bis); ChangeAssert changeAssertModification0 = changesAssert.changeOfModification(); ChangeAssert changeAssertModification1 = changesAssertModification.changeOfModification(); ChangeAssert changeAssertModification0Bis = changesAssertModification.changeOfModification(0); ChangeAssert changeAssertModification1Bis = changesAssert.changeOfModification(1); Assertions.assertThat(changeAssertModification0).isSameAs(changeAssertModification0Bis); Assertions.assertThat(changeAssertModification1).isSameAs(changeAssertModification1Bis); ChangeAssert changeAssertDeletion0 = changesAssert.changeOfDeletion(); ChangeAssert changeAssertDeletion1 = changesAssertDeletion.changeOfDeletion(); ChangeAssert changeAssertDeletion0Bis = changesAssertDeletion.changeOfDeletion(0); ChangeAssert changeAssertDeletion1Bis = changesAssert.changeOfDeletion(1); Assertions.assertThat(changeAssertDeletion0).isSameAs(changeAssertDeletion0Bis); Assertions.assertThat(changeAssertDeletion1).isSameAs(changeAssertDeletion1Bis); ChangeAssert changeAssertCreationOnTable0 = changesAssert.changeOfCreationOnTable("actor"); ChangeAssert changeAssertCreationOnTable1 = changesAssertCreation.changeOfCreationOnTable("interpretation"); ChangeAssert changeAssertCreationOnTable0Bis = changesAssertCreation.changeOfCreationOnTable("actor", 0); ChangeAssert changeAssertCreationOnTable1Bis = changesAssert.changeOfCreationOnTable("interpretation", 0); Assertions.assertThat(changeAssertCreationOnTable0).isSameAs(changeAssertCreationOnTable0Bis); Assertions.assertThat(changeAssertCreationOnTable1).isSameAs(changeAssertCreationOnTable1Bis); ChangeAssert changeAssertModificationOnTable0 = changesAssert.changeOfModificationOnTable("actor"); ChangeAssert changeAssertModificationOnTable1 = changesAssertModification.changeOfModificationOnTable( "interpretation"); ChangeAssert changeAssertModificationOnTable0Bis = changesAssertModification.changeOfModificationOnTable("actor", 0); ChangeAssert changeAssertModificationOnTable1Bis = changesAssert.changeOfModificationOnTable("interpretation", 0); Assertions.assertThat(changeAssertModificationOnTable0).isSameAs(changeAssertModificationOnTable0Bis); Assertions.assertThat(changeAssertModificationOnTable1).isSameAs(changeAssertModificationOnTable1Bis); ChangeAssert changeAssertDeletionOnTable0 = changesAssert.changeOfDeletionOnTable("actor"); ChangeAssert changeAssertDeletionOnTable1 = changesAssertDeletion.changeOfDeletionOnTable("interpretation"); ChangeAssert changeAssertDeletionOnTable0Bis = changesAssertDeletion.changeOfDeletionOnTable("actor", 0); ChangeAssert changeAssertDeletionOnTable1Bis = changesAssert.changeOfDeletionOnTable("interpretation", 0); Assertions.assertThat(changeAssertDeletionOnTable0).isSameAs(changeAssertDeletionOnTable0Bis); Assertions.assertThat(changeAssertDeletionOnTable1).isSameAs(changeAssertDeletionOnTable1Bis); ChangeAssert changeAssertOnTable0 = changesAssert.changeOnTable("actor"); ChangeAssert changeAssertOnTable1 = changesAssertCreation.changeOnTable("actor"); ChangeAssert changeAssertOnTable0Bis = changesAssertCreation.changeOnTable("actor", 0); ChangeAssert changeAssertOnTable1Bis = changesAssert.changeOnTable("actor", 1); Assertions.assertThat(changeAssertOnTable0).isSameAs(changeAssertOnTable0Bis); Assertions.assertThat(changeAssertOnTable1).isSameAs(changeAssertOnTable1Bis); ChangeAssert changeAssertOnTableWithPks0 = changesAssert.changeOnTableWithPks("actor", 1); ChangeAssert changeAssertOnTableWithPks1 = changesAssertCreation.changeOnTableWithPks("actor", 3); ChangeAssert changeAssertOnTableWithPks0Bis = changesAssertCreation.changeOnTableWithPks("actor", 1); ChangeAssert changeAssertOnTableWithPks1Bis = changesAssert.changeOnTableWithPks("actor", 3); Assertions.assertThat(changeAssertOnTableWithPks0).isSameAs(changeAssertOnTableWithPks0Bis); Assertions.assertThat(changeAssertOnTableWithPks1).isSameAs(changeAssertOnTableWithPks1Bis); } /** * This method tests the {@code ToChange} navigation interfaces. */ @Test @NeedReload public void test_to_change_navigation_with_displays() throws Exception { Changes changes = new Changes(source).setStartPointNow(); updateChangesForTests(); changes.setEndPointNow(); Field fieldChanges = ChangesOutputter.class.getDeclaredField("changes"); fieldChanges.setAccessible(true); ChangesOutputter changesDisplay = output(changes); ChangesOutputter changesDisplayCreation = changesDisplay.ofCreation(); ChangesOutputter changesDisplayModification = changesDisplay.ofModification(); ChangesOutputter changesDisplayDeletion = changesDisplay.ofDeletion(); ChangeOutputter changeDisplayCreation0 = changesDisplay.changeOfCreation(); ChangeOutputter changeDisplayCreation1 = changesDisplayCreation.changeOfCreation(); ChangeOutputter changeDisplayCreation0Bis = changesDisplayCreation.changeOfCreation(0); ChangeOutputter changeDisplayCreation1Bis = changesDisplay.changeOfCreation(1); Assertions.assertThat(changeDisplayCreation0).isSameAs(changeDisplayCreation0Bis); Assertions.assertThat(changeDisplayCreation1).isSameAs(changeDisplayCreation1Bis); ChangeOutputter changeDisplayModification0 = changesDisplay.changeOfModification(); ChangeOutputter changeDisplayModification1 = changesDisplayModification.changeOfModification(); ChangeOutputter changeDisplayModification0Bis = changesDisplayModification.changeOfModification(0); ChangeOutputter changeDisplayModification1Bis = changesDisplay.changeOfModification(1); Assertions.assertThat(changeDisplayModification0).isSameAs(changeDisplayModification0Bis); Assertions.assertThat(changeDisplayModification1).isSameAs(changeDisplayModification1Bis); ChangeOutputter changeDisplayDeletion0 = changesDisplay.changeOfDeletion(); ChangeOutputter changeDisplayDeletion1 = changesDisplayDeletion.changeOfDeletion(); ChangeOutputter changeDisplayDeletion0Bis = changesDisplayDeletion.changeOfDeletion(0); ChangeOutputter changeDisplayDeletion1Bis = changesDisplay.changeOfDeletion(1); Assertions.assertThat(changeDisplayDeletion0).isSameAs(changeDisplayDeletion0Bis); Assertions.assertThat(changeDisplayDeletion1).isSameAs(changeDisplayDeletion1Bis); ChangeOutputter changeDisplayCreationOnTable0 = changesDisplay.changeOfCreationOnTable("actor"); ChangeOutputter changeDisplayCreationOnTable1 = changesDisplayCreation.changeOfCreationOnTable("interpretation"); ChangeOutputter changeDisplayCreationOnTable0Bis = changesDisplayCreation.changeOfCreationOnTable("actor", 0); ChangeOutputter changeDisplayCreationOnTable1Bis = changesDisplay.changeOfCreationOnTable("interpretation", 0); Assertions.assertThat(changeDisplayCreationOnTable0).isSameAs(changeDisplayCreationOnTable0Bis); Assertions.assertThat(changeDisplayCreationOnTable1).isSameAs(changeDisplayCreationOnTable1Bis); ChangeOutputter changeDisplayModificationOnTable0 = changesDisplay.changeOfModificationOnTable("actor"); ChangeOutputter changeDisplayModificationOnTable1 = changesDisplayModification.changeOfModificationOnTable( "interpretation"); ChangeOutputter changeDisplayModificationOnTable0Bis = changesDisplayModification.changeOfModificationOnTable("actor", 0); ChangeOutputter changeDisplayModificationOnTable1Bis = changesDisplay.changeOfModificationOnTable("interpretation", 0); Assertions.assertThat(changeDisplayModificationOnTable0).isSameAs(changeDisplayModificationOnTable0Bis); Assertions.assertThat(changeDisplayModificationOnTable1).isSameAs(changeDisplayModificationOnTable1Bis); ChangeOutputter changeDisplayDeletionOnTable0 = changesDisplay.changeOfDeletionOnTable("actor"); ChangeOutputter changeDisplayDeletionOnTable1 = changesDisplayDeletion.changeOfDeletionOnTable("interpretation"); ChangeOutputter changeDisplayDeletionOnTable0Bis = changesDisplayDeletion.changeOfDeletionOnTable("actor", 0); ChangeOutputter changeDisplayDeletionOnTable1Bis = changesDisplay.changeOfDeletionOnTable("interpretation", 0); Assertions.assertThat(changeDisplayDeletionOnTable0).isSameAs(changeDisplayDeletionOnTable0Bis); Assertions.assertThat(changeDisplayDeletionOnTable1).isSameAs(changeDisplayDeletionOnTable1Bis); ChangeOutputter changeDisplayOnTable0 = changesDisplay.changeOnTable("actor"); ChangeOutputter changeDisplayOnTable1 = changesDisplayCreation.changeOnTable("actor"); ChangeOutputter changeDisplayOnTable0Bis = changesDisplayCreation.changeOnTable("actor", 0); ChangeOutputter changeDisplayOnTable1Bis = changesDisplay.changeOnTable("actor", 1); Assertions.assertThat(changeDisplayOnTable0).isSameAs(changeDisplayOnTable0Bis); Assertions.assertThat(changeDisplayOnTable1).isSameAs(changeDisplayOnTable1Bis); ChangeOutputter changeDisplayOnTableWithPks0 = changesDisplay.changeOnTableWithPks("actor", 1); ChangeOutputter changeDisplayOnTableWithPks1 = changesDisplayCreation.changeOnTableWithPks("actor", 3); ChangeOutputter changeDisplayOnTableWithPks0Bis = changesDisplayCreation.changeOnTableWithPks("actor", 1); ChangeOutputter changeDisplayOnTableWithPks1Bis = changesDisplay.changeOnTableWithPks("actor", 3); Assertions.assertThat(changeDisplayOnTableWithPks0).isSameAs(changeDisplayOnTableWithPks0Bis); Assertions.assertThat(changeDisplayOnTableWithPks1).isSameAs(changeDisplayOnTableWithPks1Bis); } }