|
@@ -100,6 +100,13 @@ public class AnimationStateTests {
|
|
}
|
|
}
|
|
|
|
|
|
private void add (Result result) {
|
|
private void add (Result result) {
|
|
|
|
+ while (expected.size > actual.size) {
|
|
|
|
+ Result note = expected.get(actual.size);
|
|
|
|
+ if (!note.note) break;
|
|
|
|
+ actual.add(note);
|
|
|
|
+ log(note.name);
|
|
|
|
+ }
|
|
|
|
+
|
|
String message = result.toString();
|
|
String message = result.toString();
|
|
if (actual.size >= expected.size) {
|
|
if (actual.size >= expected.size) {
|
|
message += "FAIL: <none>";
|
|
message += "FAIL: <none>";
|
|
@@ -151,7 +158,7 @@ public class AnimationStateTests {
|
|
expect(0, "dispose", 0, 0), //
|
|
expect(0, "dispose", 0, 0), //
|
|
expect(1, "dispose", 0, 0), //
|
|
expect(1, "dispose", 0, 0), //
|
|
|
|
|
|
- // First 2 set/addAnimation calls are done.
|
|
|
|
|
|
+ note("First 2 set/addAnimation calls are done."),
|
|
|
|
|
|
expect(0, "start", 0, 0), //
|
|
expect(0, "start", 0, 0), //
|
|
expect(0, "event 0", 0, 0), //
|
|
expect(0, "event 0", 0, 0), //
|
|
@@ -580,7 +587,7 @@ public class AnimationStateTests {
|
|
expect(1, "event 0", 0, 0), //
|
|
expect(1, "event 0", 0, 0), //
|
|
expect(1, "event 14", 0.5f, 0.5f), //
|
|
expect(1, "event 14", 0.5f, 0.5f), //
|
|
|
|
|
|
- // First 2 setAnimation calls are done.
|
|
|
|
|
|
+ note("First 2 setAnimation calls are done."),
|
|
|
|
|
|
expect(1, "interrupt", 0.8f, 0.8f), //
|
|
expect(1, "interrupt", 0.8f, 0.8f), //
|
|
|
|
|
|
@@ -612,7 +619,7 @@ public class AnimationStateTests {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
- setup("setAnimation twice with mix", // 22
|
|
|
|
|
|
+ setup("setAnimation twice with mixing", // 22
|
|
expect(0, "start", 0, 0), //
|
|
expect(0, "start", 0, 0), //
|
|
expect(0, "interrupt", 0, 0), //
|
|
expect(0, "interrupt", 0, 0), //
|
|
expect(0, "end", 0, 0), //
|
|
expect(0, "end", 0, 0), //
|
|
@@ -621,7 +628,7 @@ public class AnimationStateTests {
|
|
expect(1, "start", 0, 0), //
|
|
expect(1, "start", 0, 0), //
|
|
expect(1, "event 0", 0, 0), //
|
|
expect(1, "event 0", 0, 0), //
|
|
|
|
|
|
- // First 2 setAnimation calls are done.
|
|
|
|
|
|
+ note("First 2 setAnimation calls are done."),
|
|
|
|
|
|
expect(1, "interrupt", 0.2f, 0.2f), //
|
|
expect(1, "interrupt", 0.2f, 0.2f), //
|
|
|
|
|
|
@@ -633,7 +640,70 @@ public class AnimationStateTests {
|
|
expect(2, "start", 0, 0.2f), //
|
|
expect(2, "start", 0, 0.2f), //
|
|
expect(2, "event 0", 0.1f, 0.3f), //
|
|
expect(2, "event 0", 0.1f, 0.3f), //
|
|
|
|
|
|
- // Second 2 setAnimation calls are done.
|
|
|
|
|
|
+ note("Second 2 setAnimation calls are done."),
|
|
|
|
+
|
|
|
|
+ expect(2, "interrupt", 0.2f, 0.4f), //
|
|
|
|
+
|
|
|
|
+ expect(1, "start", 0, 0.4f), //
|
|
|
|
+ expect(1, "interrupt", 0, 0.4f), //
|
|
|
|
+ expect(1, "end", 0, 0.4f), //
|
|
|
|
+ expect(1, "dispose", 0, 0.4f), //
|
|
|
|
+
|
|
|
|
+ expect(0, "start", 0, 0.4f), //
|
|
|
|
+ expect(0, "event 0", 0.1f, 0.5f), //
|
|
|
|
+
|
|
|
|
+ expect(2, "end", 0.3f, 0.6f), //
|
|
|
|
+ expect(2, "dispose", 0.3f, 0.6f), //
|
|
|
|
+
|
|
|
|
+ expect(0, "event 14", 0.5f, 0.9f), //
|
|
|
|
+
|
|
|
|
+ expect(1, "complete", 1, 1), //
|
|
|
|
+ expect(1, "end", 1, 1.1f), //
|
|
|
|
+ expect(1, "dispose", 1, 1.1f), //
|
|
|
|
+
|
|
|
|
+ expect(0, "event 30", 1, 1.4f), //
|
|
|
|
+ expect(0, "complete", 1, 1.4f), //
|
|
|
|
+ expect(0, "end", 1, 1.5f), //
|
|
|
|
+ expect(0, "dispose", 1, 1.5f) //
|
|
|
|
+ );
|
|
|
|
+ stateData.setDefaultMix(0.6f);
|
|
|
|
+ state.setAnimation(0, "events0", false); // First should be ignored.
|
|
|
|
+ state.setAnimation(0, "events1", false);
|
|
|
|
+ run(0.1f, 1000, new TestListener() {
|
|
|
|
+ public void frame (float time) {
|
|
|
|
+ if (MathUtils.isEqual(time, 0.2f)) {
|
|
|
|
+ state.setAnimation(0, "events0", false); // First should be ignored.
|
|
|
|
+ state.setAnimation(0, "events2", false);
|
|
|
|
+ }
|
|
|
|
+ if (MathUtils.isEqual(time, 0.4f)) {
|
|
|
|
+ state.setAnimation(0, "events1", false); // First should be ignored.
|
|
|
|
+ state.setAnimation(0, "events0", false).setTrackEnd(1);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ setup("setAnimation twice with multiple mixing", // 23
|
|
|
|
+ expect(0, "start", 0, 0), //
|
|
|
|
+ expect(0, "interrupt", 0, 0), //
|
|
|
|
+ expect(0, "end", 0, 0), //
|
|
|
|
+ expect(0, "dispose", 0, 0), //
|
|
|
|
+
|
|
|
|
+ expect(1, "start", 0, 0), //
|
|
|
|
+ expect(1, "event 0", 0, 0), //
|
|
|
|
+
|
|
|
|
+ note("First 2 setAnimation calls are done."),
|
|
|
|
+
|
|
|
|
+ expect(1, "interrupt", 0.2f, 0.2f), //
|
|
|
|
+
|
|
|
|
+ expect(0, "start", 0, 0.2f), //
|
|
|
|
+ expect(0, "interrupt", 0, 0.2f), //
|
|
|
|
+ expect(0, "end", 0, 0.2f), //
|
|
|
|
+ expect(0, "dispose", 0, 0.2f), //
|
|
|
|
+
|
|
|
|
+ expect(2, "start", 0, 0.2f), //
|
|
|
|
+ expect(2, "event 0", 0.1f, 0.3f), //
|
|
|
|
+
|
|
|
|
+ note("Second 2 setAnimation calls are done."),
|
|
|
|
|
|
expect(2, "interrupt", 0.2f, 0.4f), //
|
|
expect(2, "interrupt", 0.2f, 0.4f), //
|
|
|
|
|
|
@@ -659,6 +729,7 @@ public class AnimationStateTests {
|
|
expect(0, "dispose", 1, 1.5f) //
|
|
expect(0, "dispose", 1, 1.5f) //
|
|
);
|
|
);
|
|
stateData.setDefaultMix(0.6f);
|
|
stateData.setDefaultMix(0.6f);
|
|
|
|
+ state.setMultipleMixing(true);
|
|
state.setAnimation(0, "events0", false); // First should be ignored.
|
|
state.setAnimation(0, "events0", false); // First should be ignored.
|
|
state.setAnimation(0, "events1", false);
|
|
state.setAnimation(0, "events1", false);
|
|
run(0.1f, 1000, new TestListener() {
|
|
run(0.1f, 1000, new TestListener() {
|
|
@@ -673,8 +744,9 @@ public class AnimationStateTests {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
+ state.setMultipleMixing(false);
|
|
|
|
|
|
- setup("addAnimation with delay on empty track", // 23
|
|
|
|
|
|
+ setup("addAnimation with delay on empty track", // 24
|
|
expect(0, "start", 0, 0), //
|
|
expect(0, "start", 0, 0), //
|
|
expect(0, "event 0", 0, 5), //
|
|
expect(0, "event 0", 0, 5), //
|
|
expect(0, "event 14", 0.5f, 5.5f), //
|
|
expect(0, "event 14", 0.5f, 5.5f), //
|
|
@@ -686,7 +758,7 @@ public class AnimationStateTests {
|
|
state.addAnimation(0, "events0", false, 5).setTrackEnd(1);
|
|
state.addAnimation(0, "events0", false, 5).setTrackEnd(1);
|
|
run(0.1f, 10, null);
|
|
run(0.1f, 10, null);
|
|
|
|
|
|
- setup("setAnimation during AnimationStateListener"); // 24
|
|
|
|
|
|
+ setup("setAnimation during AnimationStateListener"); // 25
|
|
state.addListener(new AnimationStateListener() {
|
|
state.addListener(new AnimationStateListener() {
|
|
public void start (TrackEntry entry) {
|
|
public void start (TrackEntry entry) {
|
|
if (entry.getAnimation().getName().equals("events0")) state.setAnimation(1, "events1", false);
|
|
if (entry.getAnimation().getName().equals("events0")) state.setAnimation(1, "events1", false);
|
|
@@ -717,7 +789,7 @@ public class AnimationStateTests {
|
|
state.setAnimation(1, "events1", false).setTrackEnd(1);
|
|
state.setAnimation(1, "events1", false).setTrackEnd(1);
|
|
run(0.1f, 10, null);
|
|
run(0.1f, 10, null);
|
|
|
|
|
|
- setup("clearTrack", // 25
|
|
|
|
|
|
+ setup("clearTrack", // 26
|
|
expect(0, "start", 0, 0), //
|
|
expect(0, "start", 0, 0), //
|
|
expect(0, "event 0", 0, 0), //
|
|
expect(0, "event 0", 0, 0), //
|
|
expect(0, "event 14", 0.5f, 0.5f), //
|
|
expect(0, "event 14", 0.5f, 0.5f), //
|
|
@@ -731,7 +803,7 @@ public class AnimationStateTests {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
- setup("setEmptyAnimation", // 26
|
|
|
|
|
|
+ setup("setEmptyAnimation", // 27
|
|
expect(0, "start", 0, 0), //
|
|
expect(0, "start", 0, 0), //
|
|
expect(0, "event 0", 0, 0), //
|
|
expect(0, "event 0", 0, 0), //
|
|
expect(0, "event 14", 0.5f, 0.5f), //
|
|
expect(0, "event 14", 0.5f, 0.5f), //
|
|
@@ -753,7 +825,7 @@ public class AnimationStateTests {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
- setup("TrackEntry listener"); // 27
|
|
|
|
|
|
+ setup("TrackEntry listener"); // 28
|
|
final AtomicInteger counter = new AtomicInteger();
|
|
final AtomicInteger counter = new AtomicInteger();
|
|
state.addAnimation(0, "events0", false, 0).setListener(new AnimationStateListener() {
|
|
state.addAnimation(0, "events0", false, 0).setListener(new AnimationStateListener() {
|
|
public void start (TrackEntry entry) {
|
|
public void start (TrackEntry entry) {
|
|
@@ -785,7 +857,7 @@ public class AnimationStateTests {
|
|
state.setAnimation(1, "events1", false).setTrackEnd(1);
|
|
state.setAnimation(1, "events1", false).setTrackEnd(1);
|
|
run(0.1f, 10, null);
|
|
run(0.1f, 10, null);
|
|
if (counter.get() != 15082016) {
|
|
if (counter.get() != 15082016) {
|
|
- log("TEST 26 FAILED! " + counter);
|
|
|
|
|
|
+ log("TEST 28 FAILED! " + counter);
|
|
System.exit(0);
|
|
System.exit(0);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -893,6 +965,13 @@ public class AnimationStateTests {
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ Result note (String message) {
|
|
|
|
+ Result result = new Result();
|
|
|
|
+ result.name = message;
|
|
|
|
+ result.note = true;
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+
|
|
void log (String message) {
|
|
void log (String message) {
|
|
System.out.println(message);
|
|
System.out.println(message);
|
|
}
|
|
}
|
|
@@ -901,6 +980,7 @@ public class AnimationStateTests {
|
|
String name;
|
|
String name;
|
|
int animationIndex;
|
|
int animationIndex;
|
|
float trackTime, totalTime;
|
|
float trackTime, totalTime;
|
|
|
|
+ boolean note;
|
|
|
|
|
|
public int hashCode () {
|
|
public int hashCode () {
|
|
int result = 31 + animationIndex;
|
|
int result = 31 + animationIndex;
|