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 }
|