< prev index next >

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

Print this page


   1 /*
   2  * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


  76         final Rectangle node = new Rectangle();
  77 
  78         // parent and parent node set
  79         final ParallelTransition parent = new ParallelTransition();
  80         parent.getChildren().add(transition);
  81         parent.setNode(node);
  82         assertEquals(node, transition.getParentTargetNode());
  83 
  84         // parent set, parent node null
  85         parent.setNode(null);
  86         assertNull(transition.getParentTargetNode());
  87 
  88         // parent null, parent node set
  89         parent.setNode(node);
  90         parent.getChildren().clear();
  91         assertNull(transition.getParentTargetNode());
  92     }
  93 
  94     @Test
  95     public void testStart() {
  96         transition.impl_start(true);
  97         transition.setInterpolator(Interpolator.DISCRETE);
  98         assertEquals(DEFAULT_INTERPOLATOR, transition.getCachedInterpolator());
  99         transition.shim_impl_finished();
 100 
 101         transition.impl_start(true);
 102         assertEquals(Interpolator.DISCRETE, transition.getCachedInterpolator());
 103         transition.shim_impl_finished();
 104     }
 105 
 106     @Test
 107     public void testPlayTo() {
 108         assertTrue(transition.impl_startable(true));
 109 
 110         // normal play with linear interpolator
 111         transition.setInterpolator(Interpolator.LINEAR);
 112         transition.impl_start(true);
 113         transition.impl_playTo(0, 2);
 114         assertEquals(0.0, transition.frac, EPSILON);
 115         transition.impl_playTo(1, 2);
 116         assertEquals(0.5, transition.frac, EPSILON);
 117         transition.impl_playTo(2, 2);
 118         assertEquals(1.0, transition.frac, EPSILON);
 119         transition.shim_impl_finished();
 120 
 121         // normal play with discrete interpolator
 122         transition.setInterpolator(Interpolator.DISCRETE);
 123         transition.impl_start(true);
 124         transition.impl_playTo(0, 2);
 125         assertEquals(0.0, transition.frac, EPSILON);
 126         transition.impl_playTo(1, 2);
 127         assertEquals(0.0, transition.frac, EPSILON);
 128         transition.impl_playTo(2, 2);
 129         assertEquals(1.0, transition.frac, EPSILON);
 130 
 131         transition.shim_impl_finished();
 132     }
 133 
 134     @Test
 135     public void testJumpTo() {
 136         // not running
 137         transition.impl_jumpTo(0, 2, false);
 138         assertEquals(0.0, transition.frac, EPSILON);
 139         transition.impl_jumpTo(1, 2, false);
 140         assertEquals(0.0, transition.frac, EPSILON);
 141         transition.impl_jumpTo(2, 2, false);
 142         assertEquals(0.0, transition.frac, EPSILON);
 143 
 144         // running with linear interpolator
 145         transition.setInterpolator(Interpolator.LINEAR);
 146         assertTrue(transition.impl_startable(true));
 147         transition.impl_start(true);
 148         transition.impl_jumpTo(0, 2, false);
 149         assertEquals(0.0, transition.frac, EPSILON);
 150         transition.impl_jumpTo(1, 2, false);
 151         assertEquals(0.5, transition.frac, EPSILON);
 152         transition.impl_jumpTo(2, 2, false);
 153         assertEquals(1.0, transition.frac, EPSILON);
 154 
 155         // paused with linear interpolator
 156         transition.impl_pause();
 157         transition.impl_jumpTo(0, 2, false);
 158         assertEquals(0.0, transition.frac, EPSILON);
 159         transition.impl_jumpTo(1, 2, false);
 160         assertEquals(0.5, transition.frac, EPSILON);
 161         transition.impl_jumpTo(2, 2, false);
 162         assertEquals(1.0, transition.frac, EPSILON);
 163         transition.shim_impl_finished();
 164 
 165         // running with discrete interpolator
 166         transition.setInterpolator(Interpolator.DISCRETE);
 167         assertTrue(transition.impl_startable(true));
 168         transition.impl_start(true);
 169         transition.impl_jumpTo(0, 2, false);
 170         assertEquals(0.0, transition.frac, EPSILON);
 171         transition.impl_jumpTo(1, 2, false);
 172         assertEquals(0.0, transition.frac, EPSILON);
 173         transition.impl_jumpTo(2, 2, false);
 174         assertEquals(1.0, transition.frac, EPSILON);
 175 
 176         // paused with discrete interpolator
 177         transition.impl_pause();
 178         transition.impl_jumpTo(0, 2, false);
 179         assertEquals(0.0, transition.frac, EPSILON);
 180         transition.impl_jumpTo(1, 2, false);
 181         assertEquals(0.0, transition.frac, EPSILON);
 182         transition.impl_jumpTo(2, 2, false);
 183         assertEquals(1.0, transition.frac, EPSILON);
 184         transition.shim_impl_finished();
 185     }
 186 
 187 
 188 
 189     @Test
 190     public void testForcedJumpTo() {
 191         transition.setInterpolator(Interpolator.LINEAR);
 192         // not running
 193         transition.impl_jumpTo(0, 2, true);
 194         assertEquals(0.0, transition.frac, EPSILON);
 195         transition.impl_jumpTo(1, 2, true);
 196         assertEquals(0.5, transition.frac, EPSILON);
 197         transition.impl_jumpTo(2, 2, true);
 198         assertEquals(1.0, transition.frac, EPSILON);
 199 
 200         // running with linear interpolator
 201         assertTrue(transition.impl_startable(true));
 202         transition.impl_start(true);
 203         transition.impl_jumpTo(0, 2, true);
 204         assertEquals(0.0, transition.frac, EPSILON);
 205         transition.impl_jumpTo(1, 2, true);
 206         assertEquals(0.5, transition.frac, EPSILON);
 207         transition.impl_jumpTo(2, 2, true);
 208         assertEquals(1.0, transition.frac, EPSILON);
 209 
 210         // paused with linear interpolator
 211         transition.impl_pause();
 212         transition.impl_jumpTo(0, 2, true);
 213         assertEquals(0.0, transition.frac, EPSILON);
 214         transition.impl_jumpTo(1, 2, true);
 215         assertEquals(0.5, transition.frac, EPSILON);
 216         transition.impl_jumpTo(2, 2, true);
 217         assertEquals(1.0, transition.frac, EPSILON);
 218         transition.shim_impl_finished();
 219 
 220     }
 221 
 222     private static class TransitionImpl extends TransitionShim {
 223         private double frac;
 224 
 225         private TransitionImpl(Duration duration) {
 226             setCycleDuration(duration);
 227         }
 228 
 229         private TransitionImpl(Duration duration, double targetFramerate) {
 230             super(targetFramerate);
 231             setCycleDuration(duration);
 232         }
 233 
 234         public void impl_setCurrentTicks(long ticks) {
 235             // no-op
 236         }
   1 /*
   2  * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


  76         final Rectangle node = new Rectangle();
  77 
  78         // parent and parent node set
  79         final ParallelTransition parent = new ParallelTransition();
  80         parent.getChildren().add(transition);
  81         parent.setNode(node);
  82         assertEquals(node, transition.getParentTargetNode());
  83 
  84         // parent set, parent node null
  85         parent.setNode(null);
  86         assertNull(transition.getParentTargetNode());
  87 
  88         // parent null, parent node set
  89         parent.setNode(node);
  90         parent.getChildren().clear();
  91         assertNull(transition.getParentTargetNode());
  92     }
  93 
  94     @Test
  95     public void testStart() {
  96         transition.doStart(true);
  97         transition.setInterpolator(Interpolator.DISCRETE);
  98         assertEquals(DEFAULT_INTERPOLATOR, transition.getCachedInterpolator());
  99         transition.shim_impl_finished();
 100 
 101         transition.doStart(true);
 102         assertEquals(Interpolator.DISCRETE, transition.getCachedInterpolator());
 103         transition.shim_impl_finished();
 104     }
 105 
 106     @Test
 107     public void testPlayTo() {
 108         assertTrue(transition.startable(true));
 109 
 110         // normal play with linear interpolator
 111         transition.setInterpolator(Interpolator.LINEAR);
 112         transition.doStart(true);
 113         transition.doPlayTo(0, 2);
 114         assertEquals(0.0, transition.frac, EPSILON);
 115         transition.doPlayTo(1, 2);
 116         assertEquals(0.5, transition.frac, EPSILON);
 117         transition.doPlayTo(2, 2);
 118         assertEquals(1.0, transition.frac, EPSILON);
 119         transition.shim_impl_finished();
 120 
 121         // normal play with discrete interpolator
 122         transition.setInterpolator(Interpolator.DISCRETE);
 123         transition.doStart(true);
 124         transition.doPlayTo(0, 2);
 125         assertEquals(0.0, transition.frac, EPSILON);
 126         transition.doPlayTo(1, 2);
 127         assertEquals(0.0, transition.frac, EPSILON);
 128         transition.doPlayTo(2, 2);
 129         assertEquals(1.0, transition.frac, EPSILON);
 130 
 131         transition.shim_impl_finished();
 132     }
 133 
 134     @Test
 135     public void testJumpTo() {
 136         // not running
 137         transition.doJumpTo(0, 2, false);
 138         assertEquals(0.0, transition.frac, EPSILON);
 139         transition.doJumpTo(1, 2, false);
 140         assertEquals(0.0, transition.frac, EPSILON);
 141         transition.doJumpTo(2, 2, false);
 142         assertEquals(0.0, transition.frac, EPSILON);
 143 
 144         // running with linear interpolator
 145         transition.setInterpolator(Interpolator.LINEAR);
 146         assertTrue(transition.startable(true));
 147         transition.doStart(true);
 148         transition.doJumpTo(0, 2, false);
 149         assertEquals(0.0, transition.frac, EPSILON);
 150         transition.doJumpTo(1, 2, false);
 151         assertEquals(0.5, transition.frac, EPSILON);
 152         transition.doJumpTo(2, 2, false);
 153         assertEquals(1.0, transition.frac, EPSILON);
 154 
 155         // paused with linear interpolator
 156         transition.doPause();
 157         transition.doJumpTo(0, 2, false);
 158         assertEquals(0.0, transition.frac, EPSILON);
 159         transition.doJumpTo(1, 2, false);
 160         assertEquals(0.5, transition.frac, EPSILON);
 161         transition.doJumpTo(2, 2, false);
 162         assertEquals(1.0, transition.frac, EPSILON);
 163         transition.shim_impl_finished();
 164 
 165         // running with discrete interpolator
 166         transition.setInterpolator(Interpolator.DISCRETE);
 167         assertTrue(transition.startable(true));
 168         transition.doStart(true);
 169         transition.doJumpTo(0, 2, false);
 170         assertEquals(0.0, transition.frac, EPSILON);
 171         transition.doJumpTo(1, 2, false);
 172         assertEquals(0.0, transition.frac, EPSILON);
 173         transition.doJumpTo(2, 2, false);
 174         assertEquals(1.0, transition.frac, EPSILON);
 175 
 176         // paused with discrete interpolator
 177         transition.doPause();
 178         transition.doJumpTo(0, 2, false);
 179         assertEquals(0.0, transition.frac, EPSILON);
 180         transition.doJumpTo(1, 2, false);
 181         assertEquals(0.0, transition.frac, EPSILON);
 182         transition.doJumpTo(2, 2, false);
 183         assertEquals(1.0, transition.frac, EPSILON);
 184         transition.shim_impl_finished();
 185     }
 186 
 187 
 188 
 189     @Test
 190     public void testForcedJumpTo() {
 191         transition.setInterpolator(Interpolator.LINEAR);
 192         // not running
 193         transition.doJumpTo(0, 2, true);
 194         assertEquals(0.0, transition.frac, EPSILON);
 195         transition.doJumpTo(1, 2, true);
 196         assertEquals(0.5, transition.frac, EPSILON);
 197         transition.doJumpTo(2, 2, true);
 198         assertEquals(1.0, transition.frac, EPSILON);
 199 
 200         // running with linear interpolator
 201         assertTrue(transition.startable(true));
 202         transition.doStart(true);
 203         transition.doJumpTo(0, 2, true);
 204         assertEquals(0.0, transition.frac, EPSILON);
 205         transition.doJumpTo(1, 2, true);
 206         assertEquals(0.5, transition.frac, EPSILON);
 207         transition.doJumpTo(2, 2, true);
 208         assertEquals(1.0, transition.frac, EPSILON);
 209 
 210         // paused with linear interpolator
 211         transition.doPause();
 212         transition.doJumpTo(0, 2, true);
 213         assertEquals(0.0, transition.frac, EPSILON);
 214         transition.doJumpTo(1, 2, true);
 215         assertEquals(0.5, transition.frac, EPSILON);
 216         transition.doJumpTo(2, 2, true);
 217         assertEquals(1.0, transition.frac, EPSILON);
 218         transition.shim_impl_finished();
 219 
 220     }
 221 
 222     private static class TransitionImpl extends TransitionShim {
 223         private double frac;
 224 
 225         private TransitionImpl(Duration duration) {
 226             setCycleDuration(duration);
 227         }
 228 
 229         private TransitionImpl(Duration duration, double targetFramerate) {
 230             super(targetFramerate);
 231             setCycleDuration(duration);
 232         }
 233 
 234         public void impl_setCurrentTicks(long ticks) {
 235             // no-op
 236         }
< prev index next >