Unit tests for MagnitudeField fail when initializing the UISpec4J framework.
[junit] Null Test: Caused an ERROR
[junit] sun.awt.motif.MToolkit.init(Ljava/lang/String;)V
[junit] java.lang.UnsatisfiedLinkError: sun.awt.motif.MToolkit.init(Ljava/lang/String;)V
[junit] at sun.awt.motif.MToolkit.init(Native Method)
[junit] at sun.awt.motif.MToolkit.<init>(MToolkit.java:152)
[junit] at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
[junit] at java.lang.Class.newInstance0(Class.java:372)
[junit] at java.lang.Class.newInstance(Class.java:325)
[junit] at org.uispec4j.interception.toolkit.UISpecToolkit.buildUnderlyingToolkit(UISpecToolkit.java:128)
[junit] at org.uispec4j.interception.toolkit.UISpecToolkit.setUp(UISpecToolkit.java:39)
[junit] at org.uispec4j.interception.toolkit.UISpecToolkit.<init>(UISpecToolkit.java:24)
[junit] at org.uispec4j.UISpec4J.initToolkit(UISpec4J.java:39)
[junit] at org.uispec4j.UISpec4J.init(UISpec4J.java:31)
[junit] at net.sf.magnitude.gui.MagnitudeFieldTest.<clinit>(MagnitudeFieldTest.java:38)
[junit] at java.lang.Class.forName0(Native Method)
[junit] at java.lang.Class.forName(Class.java:264)
The tests fail on Ubuntu 10.04 (Lucid Lynx) with OpenJDK:
$ java -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.10) (6b20-1.9.10-0ubuntu1~10.04.2)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
The test pass on Windows with Sun JDK:
# java -version
java version "1.6.0_30"
Java(TM) SE Runtime Environment (build 1.6.0_3--b12)
Java HotSpot(TM) Client VM (build 20.5-b03, mixed mode)
I have not tried with the Sun JDK under Linux.
The problem is related to OpenJDK. UISpec4J only works on the Sun/Oracle JVM.
See http://tech.groups.yahoo.com/group/uispec4j/message/829.
Perhaps FEST (http://code.google.com/p/fest/) could be used instead.