< prev index next >
modules/graphics/src/test/java/test/javafx/animation/StrokeTransitionTest.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
*** 124,142 ****
public void testInterpolate() {
final Color fromValue = Color.color(0.2, 0.3, 0.7, 0.1);
final Color toValue = Color.color(0.8, 0.4, 0.2, 0.9);
final StrokeTransition t0 = new StrokeTransition(ONE_SEC, shape, fromValue, toValue);
! assertTrue(AnimationShim.impl_startable(t0,true));
! AnimationShim.impl_start(t0,true);
TransitionShim.interpolate(t0,0.0);
assertColorEquals(Color.color(0.2, 0.3, 0.7, 0.1), shape.getStroke());
TransitionShim.interpolate(t0,0.4);
assertColorEquals(Color.color(0.44, 0.34, 0.5, 0.42), shape.getStroke());
TransitionShim.interpolate(t0,1.0);
assertColorEquals(Color.color(0.8, 0.4, 0.2, 0.9), shape.getStroke());
! AnimationShim.impl_finished(t0);
}
@Test
public void testRedValueCombinations() {
final StrokeTransition t0 = new StrokeTransition(ONE_SEC, shape, null, Color.WHITE);
--- 124,142 ----
public void testInterpolate() {
final Color fromValue = Color.color(0.2, 0.3, 0.7, 0.1);
final Color toValue = Color.color(0.8, 0.4, 0.2, 0.9);
final StrokeTransition t0 = new StrokeTransition(ONE_SEC, shape, fromValue, toValue);
! assertTrue(AnimationShim.startable(t0,true));
! AnimationShim.doStart(t0,true);
TransitionShim.interpolate(t0,0.0);
assertColorEquals(Color.color(0.2, 0.3, 0.7, 0.1), shape.getStroke());
TransitionShim.interpolate(t0,0.4);
assertColorEquals(Color.color(0.44, 0.34, 0.5, 0.42), shape.getStroke());
TransitionShim.interpolate(t0,1.0);
assertColorEquals(Color.color(0.8, 0.4, 0.2, 0.9), shape.getStroke());
! AnimationShim.finished(t0);
}
@Test
public void testRedValueCombinations() {
final StrokeTransition t0 = new StrokeTransition(ONE_SEC, shape, null, Color.WHITE);
*** 146,169 ****
final Color fromValue = Color.color(fromRed, 1.0, 1.0);
// no from value set
shape.setStroke(originalValue);
t0.setFromValue(null);
! assertTrue(AnimationShim.impl_startable(t0,true));
! AnimationShim.impl_start(t0,true);
TransitionShim.interpolate(t0,0.0);
assertColorEquals(originalValue, shape.getStroke());
! AnimationShim.impl_finished(t0);
// from-value set
shape.setStroke(originalValue);
t0.setFromValue(fromValue);
! assertTrue(AnimationShim.impl_startable(t0,true));
! AnimationShim.impl_start(t0,true);
TransitionShim.interpolate(t0,0.0);
assertColorEquals(fromValue, shape.getStroke());
! AnimationShim.impl_finished(t0);
}
@Test
public void testGetTargetNode() {
final Color fromValue = Color.color(0.0, 0.4, 0.8, 1.0);
--- 146,169 ----
final Color fromValue = Color.color(fromRed, 1.0, 1.0);
// no from value set
shape.setStroke(originalValue);
t0.setFromValue(null);
! assertTrue(AnimationShim.startable(t0,true));
! AnimationShim.doStart(t0,true);
TransitionShim.interpolate(t0,0.0);
assertColorEquals(originalValue, shape.getStroke());
! AnimationShim.finished(t0);
// from-value set
shape.setStroke(originalValue);
t0.setFromValue(fromValue);
! assertTrue(AnimationShim.startable(t0,true));
! AnimationShim.doStart(t0,true);
TransitionShim.interpolate(t0,0.0);
assertColorEquals(fromValue, shape.getStroke());
! AnimationShim.finished(t0);
}
@Test
public void testGetTargetNode() {
final Color fromValue = Color.color(0.0, 0.4, 0.8, 1.0);
*** 176,315 ****
pt.setNode(shape2);
shape.setStroke(Color.WHITE);
shape2.setStroke(Color.WHITE);
// node set, parent set
! assertTrue(AnimationShim.impl_startable(ft,true));
! AnimationShim.impl_start(ft,true);
TransitionShim.interpolate(ft,0.5);
assertColorEquals(Color.color(0.5, 0.6, 0.7, 0.7), shape.getStroke());
assertColorEquals(Color.WHITE, shape2.getStroke());
! AnimationShim.impl_finished(ft);
// node null, parent set
ft.setShape(null);
! assertTrue(AnimationShim.impl_startable(ft,true));
! AnimationShim.impl_start(ft,true);
TransitionShim.interpolate(ft,0.4);
assertColorEquals(Color.color(0.5, 0.6, 0.7, 0.7), shape.getStroke());
assertColorEquals(Color.color(0.4, 0.56, 0.72, 0.76), shape2.getStroke());
! AnimationShim.impl_finished(ft);
// node null, parent not shape set
pt.setNode(new Group());
! assertFalse(AnimationShim.impl_startable(ft,true));
// node null, parent null
pt.setNode(null);
! assertFalse(AnimationShim.impl_startable(ft,true));
}
@Test
public void testCachedValues() {
final Color fromValue = Color.color(0.0, 0.4, 0.8, 0.2);
final Color toValue = Color.color(1.0, 0.8, 0.6, 0.4);
final StrokeTransition ft = new StrokeTransition(ONE_SEC, shape, fromValue, toValue);
ft.setInterpolator(Interpolator.LINEAR);
// start
! assertTrue(AnimationShim.impl_startable(ft,true));
! AnimationShim.impl_start(ft,true);
ft.setFromValue(Color.WHITE);
TransitionShim.interpolate(ft,0.5);
assertColorEquals(Color.color(0.5, 0.6, 0.7, 0.3), shape.getStroke());
! AnimationShim.impl_finished(ft);
ft.setFromValue(fromValue);
// end
! assertTrue(AnimationShim.impl_startable(ft,true));
! AnimationShim.impl_start(ft,true);
ft.setToValue(Color.BLACK);
TransitionShim.interpolate(ft,0.2);
assertColorEquals(Color.color(0.2, 0.48, 0.76, 0.24), shape.getStroke());
! AnimationShim.impl_finished(ft);
ft.setToValue(toValue);
// shape
! assertTrue(AnimationShim.impl_startable(ft,true));
! AnimationShim.impl_start(ft,true);
ft.setShape(null);
TransitionShim.interpolate(ft,0.7);
assertColorEquals(Color.color(0.7, 0.68, 0.66, 0.34), shape.getStroke());
! AnimationShim.impl_finished(ft);
ft.setShape(shape);
// interpolator
! assertTrue(AnimationShim.impl_startable(ft,true));
! AnimationShim.impl_start(ft,true);
ft.setInterpolator(null);
TransitionShim.interpolate(ft,0.1);
assertColorEquals(Color.color(0.1, 0.44, 0.78, 0.22), shape.getStroke());
! AnimationShim.impl_finished(ft);
ft.setInterpolator(Interpolator.LINEAR);
}
@Test
public void testStartable() {
final StrokeTransition t0 = new StrokeTransition(Duration.ONE, shape, Color.WHITE, Color.BLACK);
final Paint paint2 = new LinearGradient(0, 0, 1, 1, false, null,
new Stop[] { new Stop(0, Color.RED) });
! 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));
// shape is null
t0.setShape(null);
! assertFalse(AnimationShim.impl_startable(t0,true));
t0.setShape(shape);
! 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));
// fromValue
t0.setFromValue(null);
shape.setStroke(paint2);
! assertFalse(AnimationShim.impl_startable(t0,true));
shape.setStroke(Color.BLACK);
! assertTrue(AnimationShim.impl_startable(t0,true));
t0.setFromValue(Color.WHITE);
shape.setStroke(paint2);
! assertTrue(AnimationShim.impl_startable(t0,true));
// toValue
t0.setToValue(null);
! assertFalse(AnimationShim.impl_startable(t0,true));
t0.setToValue(Color.BLACK);
! assertTrue(AnimationShim.impl_startable(t0,true));
}
@Test
public void testEvaluateStartValue() {
final StrokeTransition t0 = new StrokeTransition(Duration.INDEFINITE, shape, null, Color.WHITE);
// first run
shape.setStroke(Color.GREY);
! assertTrue(AnimationShim.impl_startable(t0,true));
! AnimationShim.impl_start(t0,true);
shape.setStroke(Color.TRANSPARENT);
TransitionShim.interpolate(t0,0.0);
assertColorEquals(Color.GREY, shape.getStroke());
! AnimationShim.impl_finished(t0);
// second run
shape.setStroke(Color.BLACK);
! assertTrue(AnimationShim.impl_startable(t0,true));
! AnimationShim.impl_start(t0,true);
shape.setStroke(Color.WHITE);
TransitionShim.interpolate(t0,0.0);
assertColorEquals(Color.BLACK, shape.getStroke());
! AnimationShim.impl_finished(t0);
}
}
--- 176,315 ----
pt.setNode(shape2);
shape.setStroke(Color.WHITE);
shape2.setStroke(Color.WHITE);
// node set, parent set
! assertTrue(AnimationShim.startable(ft,true));
! AnimationShim.doStart(ft,true);
TransitionShim.interpolate(ft,0.5);
assertColorEquals(Color.color(0.5, 0.6, 0.7, 0.7), shape.getStroke());
assertColorEquals(Color.WHITE, shape2.getStroke());
! AnimationShim.finished(ft);
// node null, parent set
ft.setShape(null);
! assertTrue(AnimationShim.startable(ft,true));
! AnimationShim.doStart(ft,true);
TransitionShim.interpolate(ft,0.4);
assertColorEquals(Color.color(0.5, 0.6, 0.7, 0.7), shape.getStroke());
assertColorEquals(Color.color(0.4, 0.56, 0.72, 0.76), shape2.getStroke());
! AnimationShim.finished(ft);
// node null, parent not shape set
pt.setNode(new Group());
! assertFalse(AnimationShim.startable(ft,true));
// node null, parent null
pt.setNode(null);
! assertFalse(AnimationShim.startable(ft,true));
}
@Test
public void testCachedValues() {
final Color fromValue = Color.color(0.0, 0.4, 0.8, 0.2);
final Color toValue = Color.color(1.0, 0.8, 0.6, 0.4);
final StrokeTransition ft = new StrokeTransition(ONE_SEC, shape, fromValue, toValue);
ft.setInterpolator(Interpolator.LINEAR);
// start
! assertTrue(AnimationShim.startable(ft,true));
! AnimationShim.doStart(ft,true);
ft.setFromValue(Color.WHITE);
TransitionShim.interpolate(ft,0.5);
assertColorEquals(Color.color(0.5, 0.6, 0.7, 0.3), shape.getStroke());
! AnimationShim.finished(ft);
ft.setFromValue(fromValue);
// end
! assertTrue(AnimationShim.startable(ft,true));
! AnimationShim.doStart(ft,true);
ft.setToValue(Color.BLACK);
TransitionShim.interpolate(ft,0.2);
assertColorEquals(Color.color(0.2, 0.48, 0.76, 0.24), shape.getStroke());
! AnimationShim.finished(ft);
ft.setToValue(toValue);
// shape
! assertTrue(AnimationShim.startable(ft,true));
! AnimationShim.doStart(ft,true);
ft.setShape(null);
TransitionShim.interpolate(ft,0.7);
assertColorEquals(Color.color(0.7, 0.68, 0.66, 0.34), shape.getStroke());
! AnimationShim.finished(ft);
ft.setShape(shape);
// interpolator
! assertTrue(AnimationShim.startable(ft,true));
! AnimationShim.doStart(ft,true);
ft.setInterpolator(null);
TransitionShim.interpolate(ft,0.1);
assertColorEquals(Color.color(0.1, 0.44, 0.78, 0.22), shape.getStroke());
! AnimationShim.finished(ft);
ft.setInterpolator(Interpolator.LINEAR);
}
@Test
public void testStartable() {
final StrokeTransition t0 = new StrokeTransition(Duration.ONE, shape, Color.WHITE, Color.BLACK);
final Paint paint2 = new LinearGradient(0, 0, 1, 1, false, null,
new Stop[] { new Stop(0, Color.RED) });
! 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));
// shape is null
t0.setShape(null);
! assertFalse(AnimationShim.startable(t0,true));
t0.setShape(shape);
! 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));
// fromValue
t0.setFromValue(null);
shape.setStroke(paint2);
! assertFalse(AnimationShim.startable(t0,true));
shape.setStroke(Color.BLACK);
! assertTrue(AnimationShim.startable(t0,true));
t0.setFromValue(Color.WHITE);
shape.setStroke(paint2);
! assertTrue(AnimationShim.startable(t0,true));
// toValue
t0.setToValue(null);
! assertFalse(AnimationShim.startable(t0,true));
t0.setToValue(Color.BLACK);
! assertTrue(AnimationShim.startable(t0,true));
}
@Test
public void testEvaluateStartValue() {
final StrokeTransition t0 = new StrokeTransition(Duration.INDEFINITE, shape, null, Color.WHITE);
// first run
shape.setStroke(Color.GREY);
! assertTrue(AnimationShim.startable(t0,true));
! AnimationShim.doStart(t0,true);
shape.setStroke(Color.TRANSPARENT);
TransitionShim.interpolate(t0,0.0);
assertColorEquals(Color.GREY, shape.getStroke());
! AnimationShim.finished(t0);
// second run
shape.setStroke(Color.BLACK);
! assertTrue(AnimationShim.startable(t0,true));
! AnimationShim.doStart(t0,true);
shape.setStroke(Color.WHITE);
TransitionShim.interpolate(t0,0.0);
assertColorEquals(Color.BLACK, shape.getStroke());
! AnimationShim.finished(t0);
}
}
< prev index next >