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());
}
}