modules/graphics/src/test/java/test/javafx/scene/Parent_structure_sync_Test.java

Print this page
rev 9250 : 8134762: Refactor Javafx graphics module tests for clear separation of tests
Reviewed-by:

*** 21,36 **** * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ ! package javafx.scene; ! import com.sun.javafx.pgstub.StubToolkit; import com.sun.javafx.sg.prism.NGGroup; import com.sun.javafx.tk.Toolkit; import java.util.List; import javafx.scene.shape.Rectangle; import javafx.stage.Stage; import org.junit.Before; import org.junit.Test; --- 21,40 ---- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ ! package test.javafx.scene; ! import test.com.sun.javafx.pgstub.StubToolkit; import com.sun.javafx.sg.prism.NGGroup; import com.sun.javafx.tk.Toolkit; import java.util.List; + import javafx.scene.Group; + import javafx.scene.Parent; + import javafx.scene.ParentShim; + import javafx.scene.Scene; import javafx.scene.shape.Rectangle; import javafx.stage.Stage; import org.junit.Before; import org.junit.Test;
*** 69,164 **** @Test public void emptyParentShouldHaveEmptyPGGroup() { assertTrue(peer.getChildren().isEmpty()); } @Test public void childAddedToEmptyParentShouldBeInPGGroup() { ! parent.getChildren().add(r1); sync(); assertEquals(1, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); } @Test public void childrenAddedToEmptyParentShouldAllBeInPGGroup() { ! parent.getChildren().addAll(r1, r2, r3); sync(); assertEquals(3, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); } @Test public void addingAChildToTheBack() { ! parent.getChildren().addAll(r2, r3, r4); sync(); ! parent.getChildren().add(0, r1); sync(); assertEquals(4, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); assertSame(r4.impl_getPeer(), peer.getChildren().get(3)); } @Test public void addingAChildToTheFront() { ! parent.getChildren().addAll(r1, r2, r3); sync(); ! parent.getChildren().add(r4); sync(); assertEquals(4, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); assertSame(r4.impl_getPeer(), peer.getChildren().get(3)); } @Test public void addingAChildToTheCenter() { ! parent.getChildren().addAll(r1, r2, r4); sync(); ! parent.getChildren().add(2, r3); sync(); assertEquals(4, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); assertSame(r4.impl_getPeer(), peer.getChildren().get(3)); } @Test public void removingAChildFromTheFront() { ! parent.getChildren().addAll(r1, r2, r3, r4); sync(); ! parent.getChildren().remove(3); sync(); assertEquals(3, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); } @Test public void removingAChildFromTheBack() { ! parent.getChildren().addAll(r4, r1, r2, r3); sync(); ! parent.getChildren().remove(0); sync(); assertEquals(3, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); } @Test public void removingAChildFromTheCenter() { ! parent.getChildren().addAll(r1, r2, r4, r3); sync(); ! parent.getChildren().remove(2); sync(); assertEquals(3, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); } @Test public void movingAChildFromTheBackToTheFront() { ! parent.getChildren().addAll(r4, r1, r2, r3); sync(); r4.toFront(); sync(); assertEquals(4, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); --- 73,168 ---- @Test public void emptyParentShouldHaveEmptyPGGroup() { assertTrue(peer.getChildren().isEmpty()); } @Test public void childAddedToEmptyParentShouldBeInPGGroup() { ! ParentShim.getChildren(parent).add(r1); sync(); assertEquals(1, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); } @Test public void childrenAddedToEmptyParentShouldAllBeInPGGroup() { ! ParentShim.getChildren(parent).addAll(r1, r2, r3); sync(); assertEquals(3, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); } @Test public void addingAChildToTheBack() { ! ParentShim.getChildren(parent).addAll(r2, r3, r4); sync(); ! ParentShim.getChildren(parent).add(0, r1); sync(); assertEquals(4, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); assertSame(r4.impl_getPeer(), peer.getChildren().get(3)); } @Test public void addingAChildToTheFront() { ! ParentShim.getChildren(parent).addAll(r1, r2, r3); sync(); ! ParentShim.getChildren(parent).add(r4); sync(); assertEquals(4, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); assertSame(r4.impl_getPeer(), peer.getChildren().get(3)); } @Test public void addingAChildToTheCenter() { ! ParentShim.getChildren(parent).addAll(r1, r2, r4); sync(); ! ParentShim.getChildren(parent).add(2, r3); sync(); assertEquals(4, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); assertSame(r4.impl_getPeer(), peer.getChildren().get(3)); } @Test public void removingAChildFromTheFront() { ! ParentShim.getChildren(parent).addAll(r1, r2, r3, r4); sync(); ! ParentShim.getChildren(parent).remove(3); sync(); assertEquals(3, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); } @Test public void removingAChildFromTheBack() { ! ParentShim.getChildren(parent).addAll(r4, r1, r2, r3); sync(); ! ParentShim.getChildren(parent).remove(0); sync(); assertEquals(3, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); } @Test public void removingAChildFromTheCenter() { ! ParentShim.getChildren(parent).addAll(r1, r2, r4, r3); sync(); ! ParentShim.getChildren(parent).remove(2); sync(); assertEquals(3, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); } @Test public void movingAChildFromTheBackToTheFront() { ! ParentShim.getChildren(parent).addAll(r4, r1, r2, r3); sync(); r4.toFront(); sync(); assertEquals(4, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0));
*** 166,214 **** assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); assertSame(r4.impl_getPeer(), peer.getChildren().get(3)); } @Test public void movingAChildFromTheBackToTheFrontAndAddingAChild() { ! parent.getChildren().addAll(r4, r1, r2, r3); sync(); r4.toFront(); ! parent.getChildren().add(r5); sync(); assertEquals(5, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); assertSame(r4.impl_getPeer(), peer.getChildren().get(3)); assertSame(r5.impl_getPeer(), peer.getChildren().get(4)); } @Test public void movingAChildFromTheBackToTheFrontAndRemovingAChild() { ! parent.getChildren().addAll(r3, r1, r4, r2); sync(); r3.toFront(); ! parent.getChildren().remove(1); sync(); assertEquals(3, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); } @Test public void movingAChildFromTheBackToTheFrontAndThenRemovingTheChild() { ! parent.getChildren().addAll(r4, r1, r2, r3); sync(); r4.toFront(); ! parent.getChildren().remove(3); sync(); assertEquals(3, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); } @Test public void movingAChildFromTheCenterToTheFront() { ! parent.getChildren().addAll(r1, r2, r4, r3); sync(); r4.toFront(); sync(); assertEquals(4, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); --- 170,218 ---- assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); assertSame(r4.impl_getPeer(), peer.getChildren().get(3)); } @Test public void movingAChildFromTheBackToTheFrontAndAddingAChild() { ! ParentShim.getChildren(parent).addAll(r4, r1, r2, r3); sync(); r4.toFront(); ! ParentShim.getChildren(parent).add(r5); sync(); assertEquals(5, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); assertSame(r4.impl_getPeer(), peer.getChildren().get(3)); assertSame(r5.impl_getPeer(), peer.getChildren().get(4)); } @Test public void movingAChildFromTheBackToTheFrontAndRemovingAChild() { ! ParentShim.getChildren(parent).addAll(r3, r1, r4, r2); sync(); r3.toFront(); ! ParentShim.getChildren(parent).remove(1); sync(); assertEquals(3, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); } @Test public void movingAChildFromTheBackToTheFrontAndThenRemovingTheChild() { ! ParentShim.getChildren(parent).addAll(r4, r1, r2, r3); sync(); r4.toFront(); ! ParentShim.getChildren(parent).remove(3); sync(); assertEquals(3, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); } @Test public void movingAChildFromTheCenterToTheFront() { ! ParentShim.getChildren(parent).addAll(r1, r2, r4, r3); sync(); r4.toFront(); sync(); assertEquals(4, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0));
*** 216,226 **** assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); assertSame(r4.impl_getPeer(), peer.getChildren().get(3)); } @Test public void movingAChildFromTheCenterToTheBack() { ! parent.getChildren().addAll(r2, r3, r1, r4); sync(); r1.toBack(); sync(); assertEquals(4, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); --- 220,230 ---- assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); assertSame(r4.impl_getPeer(), peer.getChildren().get(3)); } @Test public void movingAChildFromTheCenterToTheBack() { ! ParentShim.getChildren(parent).addAll(r2, r3, r1, r4); sync(); r1.toBack(); sync(); assertEquals(4, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0));
*** 228,276 **** assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); assertSame(r4.impl_getPeer(), peer.getChildren().get(3)); } @Test public void movingAChildFromTheCenterToTheFrontAndAddingAChild() { ! parent.getChildren().addAll(r1, r2, r4, r3); sync(); r4.toFront(); ! parent.getChildren().add(r5); sync(); assertEquals(5, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); assertSame(r4.impl_getPeer(), peer.getChildren().get(3)); assertSame(r5.impl_getPeer(), peer.getChildren().get(4)); } @Test public void movingAChildFromTheCenterToTheFrontAndRemovingAChild() { ! parent.getChildren().addAll(r1, r2, r3, r4); sync(); r3.toFront(); ! parent.getChildren().remove(2); sync(); assertEquals(3, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); } @Test public void movingAChildFromTheCenterToTheFrontAndThenRemovingTheChild() { ! parent.getChildren().addAll(r1, r2, r4, r3); sync(); r4.toFront(); ! parent.getChildren().remove(3); sync(); assertEquals(3, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); } @Test public void movingAChildFromTheFrontToTheBack() { ! parent.getChildren().addAll(r2, r3, r4, r1); sync(); r1.toBack(); sync(); assertEquals(4, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); --- 232,280 ---- assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); assertSame(r4.impl_getPeer(), peer.getChildren().get(3)); } @Test public void movingAChildFromTheCenterToTheFrontAndAddingAChild() { ! ParentShim.getChildren(parent).addAll(r1, r2, r4, r3); sync(); r4.toFront(); ! ParentShim.getChildren(parent).add(r5); sync(); assertEquals(5, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); assertSame(r4.impl_getPeer(), peer.getChildren().get(3)); assertSame(r5.impl_getPeer(), peer.getChildren().get(4)); } @Test public void movingAChildFromTheCenterToTheFrontAndRemovingAChild() { ! ParentShim.getChildren(parent).addAll(r1, r2, r3, r4); sync(); r3.toFront(); ! ParentShim.getChildren(parent).remove(2); sync(); assertEquals(3, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); } @Test public void movingAChildFromTheCenterToTheFrontAndThenRemovingTheChild() { ! ParentShim.getChildren(parent).addAll(r1, r2, r4, r3); sync(); r4.toFront(); ! ParentShim.getChildren(parent).remove(3); sync(); assertEquals(3, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); } @Test public void movingAChildFromTheFrontToTheBack() { ! ParentShim.getChildren(parent).addAll(r2, r3, r4, r1); sync(); r1.toBack(); sync(); assertEquals(4, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0));
*** 278,337 **** assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); assertSame(r4.impl_getPeer(), peer.getChildren().get(3)); } @Test public void movingAChildFromTheFrontToTheBackAndAddingAChild() { ! parent.getChildren().addAll(r2, r3, r4, r1); sync(); r1.toBack(); ! parent.getChildren().add(r5); sync(); assertEquals(5, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); assertSame(r4.impl_getPeer(), peer.getChildren().get(3)); assertSame(r5.impl_getPeer(), peer.getChildren().get(4)); } @Test public void movingAChildFromTheFrontToTheBackAndRemovingAChild() { ! parent.getChildren().addAll(r2, r3, r4, r1); sync(); r1.toBack(); ! parent.getChildren().remove(3); sync(); assertEquals(3, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); } @Test public void movingAChildFromTheFrontToTheBackAndThenRemovingTheChild() { ! parent.getChildren().addAll(r1, r2, r3, r4); sync(); r4.toBack(); ! parent.getChildren().remove(0); sync(); assertEquals(3, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); } @Test public void validateParentsRemovedList() { Group parent2 = new Group(); ! parent2.getChildren().addAll(r1, r2); ! parent.getChildren().add(parent2); sync(); ! parent2.getChildren().remove(r1); ! assertNotNull(parent2.test_getRemoved()); ! assertFalse(parent2.test_getRemoved().isEmpty()); sync(); ! assertTrue(parent2.test_getRemoved().isEmpty()); ! parent2.getChildren().remove(r2); parent.setVisible(false); ! assertFalse(parent2.test_getRemoved().isEmpty()); sync(); ! assertTrue(parent2.test_getRemoved().isEmpty()); } } --- 282,341 ---- assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); assertSame(r4.impl_getPeer(), peer.getChildren().get(3)); } @Test public void movingAChildFromTheFrontToTheBackAndAddingAChild() { ! ParentShim.getChildren(parent).addAll(r2, r3, r4, r1); sync(); r1.toBack(); ! ParentShim.getChildren(parent).add(r5); sync(); assertEquals(5, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); assertSame(r4.impl_getPeer(), peer.getChildren().get(3)); assertSame(r5.impl_getPeer(), peer.getChildren().get(4)); } @Test public void movingAChildFromTheFrontToTheBackAndRemovingAChild() { ! ParentShim.getChildren(parent).addAll(r2, r3, r4, r1); sync(); r1.toBack(); ! ParentShim.getChildren(parent).remove(3); sync(); assertEquals(3, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); } @Test public void movingAChildFromTheFrontToTheBackAndThenRemovingTheChild() { ! ParentShim.getChildren(parent).addAll(r1, r2, r3, r4); sync(); r4.toBack(); ! ParentShim.getChildren(parent).remove(0); sync(); assertEquals(3, peer.getChildren().size()); assertSame(r1.impl_getPeer(), peer.getChildren().get(0)); assertSame(r2.impl_getPeer(), peer.getChildren().get(1)); assertSame(r3.impl_getPeer(), peer.getChildren().get(2)); } @Test public void validateParentsRemovedList() { Group parent2 = new Group(); ! ParentShim.getChildren(parent2).addAll(r1, r2); ! ParentShim.getChildren(parent).add(parent2); sync(); ! ParentShim.getChildren(parent2).remove(r1); ! assertNotNull(ParentShim.test_getRemoved(parent2)); ! assertFalse(ParentShim.test_getRemoved(parent2).isEmpty()); sync(); ! assertTrue(ParentShim.test_getRemoved(parent2).isEmpty()); ! ParentShim.getChildren(parent2).remove(r2); parent.setVisible(false); ! assertFalse(ParentShim.test_getRemoved(parent2).isEmpty()); sync(); ! assertTrue(ParentShim.test_getRemoved(parent2).isEmpty()); } }