< prev index next >

modules/graphics/src/test/java/test/javafx/animation/RotateTransitionTest.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 135,173 **** public void testInterpolate() { final RotateTransition t0 = new RotateTransition(ONE_SEC, node); t0.setFromAngle(0.5); t0.setToAngle(1.0); ! assertTrue(AnimationShim.impl_startable(t0,true)); ! AnimationShim.impl_start(t0,true); TransitionShim.interpolate(t0,0.0); assertEquals(0.5, node.getRotate(), EPSILON); TransitionShim.interpolate(t0,0.4); assertEquals(0.7, node.getRotate(), EPSILON); TransitionShim.interpolate(t0,1.0); assertEquals(1.0, node.getRotate(), EPSILON); ! AnimationShim.impl_finished(t0); } @Test public void testAxis() { final Point3D defaultAxis = new Point3D(0.0, 0.0, 1.0); final Point3D axis = new Point3D(1.0, 0.0, 0.0); final RotateTransition t0 = new RotateTransition(ONE_SEC, node); t0.setAxis(axis); node.setRotationAxis(defaultAxis); ! assertTrue(AnimationShim.impl_startable(t0,true)); ! AnimationShim.impl_start(t0,true); assertEquals(axis, node.getRotationAxis()); ! AnimationShim.impl_finished(t0); t0.setAxis(null); node.setRotationAxis(defaultAxis); ! assertTrue(AnimationShim.impl_startable(t0,true)); ! AnimationShim.impl_start(t0,true); assertEquals(defaultAxis, node.getRotationAxis()); ! AnimationShim.impl_finished(t0); } @Test public void testValueCombinations() { final RotateTransition t0 = new RotateTransition(ONE_SEC, node); --- 135,173 ---- public void testInterpolate() { final RotateTransition t0 = new RotateTransition(ONE_SEC, node); t0.setFromAngle(0.5); t0.setToAngle(1.0); ! assertTrue(AnimationShim.startable(t0,true)); ! AnimationShim.doStart(t0,true); TransitionShim.interpolate(t0,0.0); assertEquals(0.5, node.getRotate(), EPSILON); TransitionShim.interpolate(t0,0.4); assertEquals(0.7, node.getRotate(), EPSILON); TransitionShim.interpolate(t0,1.0); assertEquals(1.0, node.getRotate(), EPSILON); ! AnimationShim.finished(t0); } @Test public void testAxis() { final Point3D defaultAxis = new Point3D(0.0, 0.0, 1.0); final Point3D axis = new Point3D(1.0, 0.0, 0.0); final RotateTransition t0 = new RotateTransition(ONE_SEC, node); t0.setAxis(axis); node.setRotationAxis(defaultAxis); ! assertTrue(AnimationShim.startable(t0,true)); ! AnimationShim.doStart(t0,true); assertEquals(axis, node.getRotationAxis()); ! AnimationShim.finished(t0); t0.setAxis(null); node.setRotationAxis(defaultAxis); ! assertTrue(AnimationShim.startable(t0,true)); ! AnimationShim.doStart(t0,true); assertEquals(defaultAxis, node.getRotationAxis()); ! AnimationShim.finished(t0); } @Test public void testValueCombinations() { final RotateTransition t0 = new RotateTransition(ONE_SEC, node);
*** 179,286 **** // no value set node.setRotate(originalAngle); t0.setFromAngle(Double.NaN); t0.setToAngle(Double.NaN); t0.setByAngle(0.0); ! assertTrue(AnimationShim.impl_startable(t0,true)); ! AnimationShim.impl_start(t0,true); TransitionShim.interpolate(t0,0.0); assertEquals(originalAngle, node.getRotate(), EPSILON); TransitionShim.interpolate(t0,1.0); assertEquals(originalAngle, node.getRotate(), EPSILON); ! AnimationShim.impl_finished(t0); // only from-value set node.setRotate(originalAngle); t0.setFromAngle(fromAngle); t0.setToAngle(Double.NaN); t0.setByAngle(0.0); ! assertTrue(AnimationShim.impl_startable(t0,true)); ! AnimationShim.impl_start(t0,true); TransitionShim.interpolate(t0,0.0); assertEquals(fromAngle, node.getRotate(), EPSILON); TransitionShim.interpolate(t0,1.0); assertEquals(fromAngle, node.getRotate(), EPSILON); ! AnimationShim.impl_finished(t0); // only to-value set node.setRotate(originalAngle); t0.setFromAngle(Double.NaN); t0.setToAngle(toAngle); t0.setByAngle(0.0); ! assertTrue(AnimationShim.impl_startable(t0,true)); ! AnimationShim.impl_start(t0,true); TransitionShim.interpolate(t0,0.0); assertEquals(originalAngle, node.getRotate(), EPSILON); TransitionShim.interpolate(t0,1.0); assertEquals(toAngle, node.getRotate(), EPSILON); ! AnimationShim.impl_finished(t0); // only by-value set node.setRotate(originalAngle); t0.setFromAngle(Double.NaN); t0.setToAngle(Double.NaN); t0.setByAngle(byAngle); ! assertTrue(AnimationShim.impl_startable(t0,true)); ! AnimationShim.impl_start(t0,true); TransitionShim.interpolate(t0,0.0); assertEquals(originalAngle, node.getRotate(), EPSILON); TransitionShim.interpolate(t0,1.0); assertEquals(originalAngle + byAngle, node.getRotate(), EPSILON); ! AnimationShim.impl_finished(t0); // from- and to-values set node.setRotate(originalAngle); t0.setFromAngle(fromAngle); t0.setToAngle(toAngle); t0.setByAngle(0.0); ! assertTrue(AnimationShim.impl_startable(t0,true)); ! AnimationShim.impl_start(t0,true); TransitionShim.interpolate(t0,0.0); assertEquals(fromAngle, node.getRotate(), EPSILON); TransitionShim.interpolate(t0,1.0); assertEquals(toAngle, node.getRotate(), EPSILON); ! AnimationShim.impl_finished(t0); // from- and by-values set node.setRotate(originalAngle); t0.setFromAngle(fromAngle); t0.setToAngle(Double.NaN); t0.setByAngle(byAngle); ! assertTrue(AnimationShim.impl_startable(t0,true)); ! AnimationShim.impl_start(t0,true); TransitionShim.interpolate(t0,0.0); assertEquals(fromAngle, node.getRotate(), EPSILON); TransitionShim.interpolate(t0,1.0); assertEquals(fromAngle + byAngle, node.getRotate(), EPSILON); ! AnimationShim.impl_finished(t0); // to- and by-values set node.setRotate(originalAngle); t0.setFromAngle(Double.NaN); t0.setToAngle(toAngle); t0.setByAngle(byAngle); ! assertTrue(AnimationShim.impl_startable(t0,true)); ! AnimationShim.impl_start(t0,true); TransitionShim.interpolate(t0,0.0); assertEquals(originalAngle, node.getRotate(), EPSILON); TransitionShim.interpolate(t0,1.0); assertEquals(toAngle, node.getRotate(), EPSILON); ! AnimationShim.impl_finished(t0); // all values set node.setRotate(originalAngle); t0.setFromAngle(fromAngle); t0.setToAngle(toAngle); t0.setByAngle(byAngle); ! assertTrue(AnimationShim.impl_startable(t0,true)); ! AnimationShim.impl_start(t0,true); TransitionShim.interpolate(t0,0.0); assertEquals(fromAngle, node.getRotate(), EPSILON); TransitionShim.interpolate(t0,1.0); assertEquals(toAngle, node.getRotate(), EPSILON); ! AnimationShim.impl_finished(t0); } @Test public void testGetTargetNode() { final RotateTransition rt = new RotateTransition(ONE_SEC, node); --- 179,286 ---- // no value set node.setRotate(originalAngle); t0.setFromAngle(Double.NaN); t0.setToAngle(Double.NaN); t0.setByAngle(0.0); ! assertTrue(AnimationShim.startable(t0,true)); ! AnimationShim.doStart(t0,true); TransitionShim.interpolate(t0,0.0); assertEquals(originalAngle, node.getRotate(), EPSILON); TransitionShim.interpolate(t0,1.0); assertEquals(originalAngle, node.getRotate(), EPSILON); ! AnimationShim.finished(t0); // only from-value set node.setRotate(originalAngle); t0.setFromAngle(fromAngle); t0.setToAngle(Double.NaN); t0.setByAngle(0.0); ! assertTrue(AnimationShim.startable(t0,true)); ! AnimationShim.doStart(t0,true); TransitionShim.interpolate(t0,0.0); assertEquals(fromAngle, node.getRotate(), EPSILON); TransitionShim.interpolate(t0,1.0); assertEquals(fromAngle, node.getRotate(), EPSILON); ! AnimationShim.finished(t0); // only to-value set node.setRotate(originalAngle); t0.setFromAngle(Double.NaN); t0.setToAngle(toAngle); t0.setByAngle(0.0); ! assertTrue(AnimationShim.startable(t0,true)); ! AnimationShim.doStart(t0,true); TransitionShim.interpolate(t0,0.0); assertEquals(originalAngle, node.getRotate(), EPSILON); TransitionShim.interpolate(t0,1.0); assertEquals(toAngle, node.getRotate(), EPSILON); ! AnimationShim.finished(t0); // only by-value set node.setRotate(originalAngle); t0.setFromAngle(Double.NaN); t0.setToAngle(Double.NaN); t0.setByAngle(byAngle); ! assertTrue(AnimationShim.startable(t0,true)); ! AnimationShim.doStart(t0,true); TransitionShim.interpolate(t0,0.0); assertEquals(originalAngle, node.getRotate(), EPSILON); TransitionShim.interpolate(t0,1.0); assertEquals(originalAngle + byAngle, node.getRotate(), EPSILON); ! AnimationShim.finished(t0); // from- and to-values set node.setRotate(originalAngle); t0.setFromAngle(fromAngle); t0.setToAngle(toAngle); t0.setByAngle(0.0); ! assertTrue(AnimationShim.startable(t0,true)); ! AnimationShim.doStart(t0,true); TransitionShim.interpolate(t0,0.0); assertEquals(fromAngle, node.getRotate(), EPSILON); TransitionShim.interpolate(t0,1.0); assertEquals(toAngle, node.getRotate(), EPSILON); ! AnimationShim.finished(t0); // from- and by-values set node.setRotate(originalAngle); t0.setFromAngle(fromAngle); t0.setToAngle(Double.NaN); t0.setByAngle(byAngle); ! assertTrue(AnimationShim.startable(t0,true)); ! AnimationShim.doStart(t0,true); TransitionShim.interpolate(t0,0.0); assertEquals(fromAngle, node.getRotate(), EPSILON); TransitionShim.interpolate(t0,1.0); assertEquals(fromAngle + byAngle, node.getRotate(), EPSILON); ! AnimationShim.finished(t0); // to- and by-values set node.setRotate(originalAngle); t0.setFromAngle(Double.NaN); t0.setToAngle(toAngle); t0.setByAngle(byAngle); ! assertTrue(AnimationShim.startable(t0,true)); ! AnimationShim.doStart(t0,true); TransitionShim.interpolate(t0,0.0); assertEquals(originalAngle, node.getRotate(), EPSILON); TransitionShim.interpolate(t0,1.0); assertEquals(toAngle, node.getRotate(), EPSILON); ! AnimationShim.finished(t0); // all values set node.setRotate(originalAngle); t0.setFromAngle(fromAngle); t0.setToAngle(toAngle); t0.setByAngle(byAngle); ! assertTrue(AnimationShim.startable(t0,true)); ! AnimationShim.doStart(t0,true); TransitionShim.interpolate(t0,0.0); assertEquals(fromAngle, node.getRotate(), EPSILON); TransitionShim.interpolate(t0,1.0); assertEquals(toAngle, node.getRotate(), EPSILON); ! AnimationShim.finished(t0); } @Test public void testGetTargetNode() { final RotateTransition rt = new RotateTransition(ONE_SEC, node);
*** 291,408 **** final ParallelTransition pt = new ParallelTransition(); pt.getChildren().add(rt); pt.setNode(node2); // node set, parent set ! assertTrue(AnimationShim.impl_startable(rt,true)); ! AnimationShim.impl_start(rt,true); TransitionShim.interpolate(rt,0.5); assertEquals(0.75, node.getRotate(), EPSILON); assertEquals(0.0, node2.getRotate(), EPSILON); ! AnimationShim.impl_finished(rt); // node null, parent set rt.setNode(null); ! assertTrue(AnimationShim.impl_startable(rt,true)); ! AnimationShim.impl_start(rt,true); TransitionShim.interpolate(rt,0.4); assertEquals(0.75, node.getRotate(), EPSILON); assertEquals(0.7, node2.getRotate(), EPSILON); ! AnimationShim.impl_finished(rt); // node null, parent null pt.setNode(null); ! assertFalse(AnimationShim.impl_startable(rt,true)); } @Test public void testCachedValues() { final RotateTransition rt = new RotateTransition(ONE_SEC, node); rt.setInterpolator(Interpolator.LINEAR); rt.setFromAngle(0.5); rt.setToAngle(1.0); // start ! assertTrue(AnimationShim.impl_startable(rt,true)); ! AnimationShim.impl_start(rt,true); rt.setFromAngle(0.0); TransitionShim.interpolate(rt,0.5); assertEquals(0.75, node.getRotate(), EPSILON); ! AnimationShim.impl_finished(rt); rt.setFromAngle(0.5); // end ! assertTrue(AnimationShim.impl_startable(rt,true)); ! AnimationShim.impl_start(rt,true); rt.setToAngle(0.0); TransitionShim.interpolate(rt,0.2); assertEquals(0.6, node.getRotate(), EPSILON); ! AnimationShim.impl_finished(rt); rt.setToAngle(1.0); // node ! assertTrue(AnimationShim.impl_startable(rt,true)); ! AnimationShim.impl_start(rt,true); rt.setNode(null); TransitionShim.interpolate(rt,0.7); assertEquals(0.85, node.getRotate(), EPSILON); ! AnimationShim.impl_finished(rt); rt.setNode(node); // interpolator ! assertTrue(AnimationShim.impl_startable(rt,true)); ! AnimationShim.impl_start(rt,true); rt.setInterpolator(null); TransitionShim.interpolate(rt,0.1); assertEquals(0.55, node.getRotate(), EPSILON); ! AnimationShim.impl_finished(rt); rt.setInterpolator(Interpolator.LINEAR); } @Test public void testStartable() { final RotateTransition t0 = new RotateTransition(Duration.ONE, node); ! assertTrue(AnimationShim.impl_startable(t0,true)); // duration is 0 t0.setDuration(Duration.ZERO); ! assertFalse(AnimationShim.impl_startable(t0,true)); t0.setDuration(Duration.ONE); ! assertTrue(AnimationShim.impl_startable(t0,true)); // node is null t0.setNode(null); ! assertFalse(AnimationShim.impl_startable(t0,true)); t0.setNode(node); ! assertTrue(AnimationShim.impl_startable(t0,true)); // interpolator is null t0.setInterpolator(null); ! assertFalse(AnimationShim.impl_startable(t0,true)); t0.setInterpolator(Interpolator.LINEAR); ! assertTrue(AnimationShim.impl_startable(t0,true)); } @Test public void testEvaluateStartValue() { final RotateTransition t0 = new RotateTransition(Duration.INDEFINITE, node); // first run node.setRotate(0.6); ! assertTrue(AnimationShim.impl_startable(t0,true)); ! AnimationShim.impl_start(t0,true); node.setRotate(0.8); TransitionShim.interpolate(t0,0.0); assertEquals(0.6, node.getRotate(), EPSILON); ! AnimationShim.impl_finished(t0); // second run node.setRotate(0.2); ! assertTrue(AnimationShim.impl_startable(t0,true)); ! AnimationShim.impl_start(t0,true); node.setRotate(0.8); TransitionShim.interpolate(t0,0.0); assertEquals(0.2, node.getRotate(), EPSILON); ! AnimationShim.impl_finished(t0); } } --- 291,408 ---- final ParallelTransition pt = new ParallelTransition(); pt.getChildren().add(rt); pt.setNode(node2); // node set, parent set ! assertTrue(AnimationShim.startable(rt,true)); ! AnimationShim.doStart(rt,true); TransitionShim.interpolate(rt,0.5); assertEquals(0.75, node.getRotate(), EPSILON); assertEquals(0.0, node2.getRotate(), EPSILON); ! AnimationShim.finished(rt); // node null, parent set rt.setNode(null); ! assertTrue(AnimationShim.startable(rt,true)); ! AnimationShim.doStart(rt,true); TransitionShim.interpolate(rt,0.4); assertEquals(0.75, node.getRotate(), EPSILON); assertEquals(0.7, node2.getRotate(), EPSILON); ! AnimationShim.finished(rt); // node null, parent null pt.setNode(null); ! assertFalse(AnimationShim.startable(rt,true)); } @Test public void testCachedValues() { final RotateTransition rt = new RotateTransition(ONE_SEC, node); rt.setInterpolator(Interpolator.LINEAR); rt.setFromAngle(0.5); rt.setToAngle(1.0); // start ! assertTrue(AnimationShim.startable(rt,true)); ! AnimationShim.doStart(rt,true); rt.setFromAngle(0.0); TransitionShim.interpolate(rt,0.5); assertEquals(0.75, node.getRotate(), EPSILON); ! AnimationShim.finished(rt); rt.setFromAngle(0.5); // end ! assertTrue(AnimationShim.startable(rt,true)); ! AnimationShim.doStart(rt,true); rt.setToAngle(0.0); TransitionShim.interpolate(rt,0.2); assertEquals(0.6, node.getRotate(), EPSILON); ! AnimationShim.finished(rt); rt.setToAngle(1.0); // node ! assertTrue(AnimationShim.startable(rt,true)); ! AnimationShim.doStart(rt,true); rt.setNode(null); TransitionShim.interpolate(rt,0.7); assertEquals(0.85, node.getRotate(), EPSILON); ! AnimationShim.finished(rt); rt.setNode(node); // interpolator ! assertTrue(AnimationShim.startable(rt,true)); ! AnimationShim.doStart(rt,true); rt.setInterpolator(null); TransitionShim.interpolate(rt,0.1); assertEquals(0.55, node.getRotate(), EPSILON); ! AnimationShim.finished(rt); rt.setInterpolator(Interpolator.LINEAR); } @Test public void testStartable() { final RotateTransition t0 = new RotateTransition(Duration.ONE, node); ! assertTrue(AnimationShim.startable(t0,true)); // duration is 0 t0.setDuration(Duration.ZERO); ! assertFalse(AnimationShim.startable(t0,true)); t0.setDuration(Duration.ONE); ! assertTrue(AnimationShim.startable(t0,true)); // node is null t0.setNode(null); ! assertFalse(AnimationShim.startable(t0,true)); t0.setNode(node); ! assertTrue(AnimationShim.startable(t0,true)); // interpolator is null t0.setInterpolator(null); ! assertFalse(AnimationShim.startable(t0,true)); t0.setInterpolator(Interpolator.LINEAR); ! assertTrue(AnimationShim.startable(t0,true)); } @Test public void testEvaluateStartValue() { final RotateTransition t0 = new RotateTransition(Duration.INDEFINITE, node); // first run node.setRotate(0.6); ! assertTrue(AnimationShim.startable(t0,true)); ! AnimationShim.doStart(t0,true); node.setRotate(0.8); TransitionShim.interpolate(t0,0.0); assertEquals(0.6, node.getRotate(), EPSILON); ! AnimationShim.finished(t0); // second run node.setRotate(0.2); ! assertTrue(AnimationShim.startable(t0,true)); ! AnimationShim.doStart(t0,true); node.setRotate(0.8); TransitionShim.interpolate(t0,0.0); assertEquals(0.2, node.getRotate(), EPSILON); ! AnimationShim.finished(t0); } }
< prev index next >