I solve the problem changing the process. Now I use a intermediate event instead of a boundary event. I need that <java>assertTrue(signals.size() == 0);</java> pass, not fail.
The BPM standard only has global signals (so you can fire a signal from one process instance to other process instance with a different process definition even). That is what the spec defines.
We added the process-instance scoped signal ourselves, to only fire the signal event within the same process instance. If I recall correctly, this was the reason why that assertion failed in your unit test.