Author: tchemit Date: 2008-11-02 18:12:23 +0000 (Sun, 02 Nov 2008) New Revision: 1011 Added: lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/JAXXContextEntryDef.java Modified: lutinjaxx/trunk/jaxx-core/changelog lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/DefaultJAXXContext.java lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/JAXXContext.java lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/JAXXInitialContext.java lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/ClassDescriptorTest.java lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/ColorConverterTest.java lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/InsetsConverterTest.java lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/JavaFileParserTest.java lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/PrimitiveConverterTest.java lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/TagManagerTest.java lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/ValidatorBean.java lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/ValidatorTest.java lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/runtime/DefaultJAXXContextTest.java lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/runtime/UtilTest.java lutinjaxx/trunk/jaxx-core/src/test/resources/log4j.properties Log: improve JAXXContext : - introduce a JAXXContextEntryDef to qualify an entry of a JAXXContext - do javadoc in JAXXContext - add logic in DefaultJAXXContext : seek in parent context if entry not found import tests : - fix the last failing test :) - dumps test to JUnit4 :) Modified: lutinjaxx/trunk/jaxx-core/changelog =================================================================== --- lutinjaxx/trunk/jaxx-core/changelog 2008-10-30 22:05:12 UTC (rev 1010) +++ lutinjaxx/trunk/jaxx-core/changelog 2008-11-02 18:12:23 UTC (rev 1011) @@ -1,6 +1,13 @@ ver-0-6 chemit 200811?? + * 20081102 [chemit] improve JAXXContext : + - introduce a JAXXContextEntryDef to qualify an entry of a JAXXContext + - do javadoc in JAXXContext + - add logic in DefaultJAXXContext : seek in parent context if entry not found + * 20081102 [chemit] improve tests : + - fix the last failed test from Jaxx original version :) + - dumps tests to JUnit4 :) * 20081030 [chemit] improve BeanValidator : - - add full PropertyChangeEvent java-bean support and a property valid + - add full PropertyChangeEvent java-bean support and a property valid - when remove bean from validator, must remove errors from model - make possible to have a dynamic errorListModel in jaxx files * 20081030 [chemit] improve JAXXContext : Modified: lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/DefaultJAXXContext.java =================================================================== --- lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/DefaultJAXXContext.java 2008-10-30 22:05:12 UTC (rev 1010) +++ lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/DefaultJAXXContext.java 2008-11-02 18:12:23 UTC (rev 1011) @@ -58,8 +58,21 @@ return (T) entry.getKey(); } } - //todo pas trouve dans ce context, on devrait rechercher dans les parents de l'ui ? - return null; + + // no value found in this context, will try in the parent context + + if (JAXXContext.class == clazz) { + // no seek in the parent context, since we are already looking for it + return null; + } + + JAXXContext parentContext = getContextValue(JAXXContext.class); + if (parentContext == null) { + // no parent context, so no value find + return null; + } + // seek in parent context + return parentContext.getContextValue(clazz, name); } @@ -72,11 +85,11 @@ if (ui == null) { throw new IllegalStateException("no ui attached to this context"); } - if (top==null) { + if (top == null) { throw new IllegalArgumentException("top parameter can not be null"); } if (!Container.class.isAssignableFrom(top.getClass())) { - throw new IllegalArgumentException("top parameter "+top + " is not a " + Container.class); + throw new IllegalArgumentException("top parameter " + top + " is not a " + Container.class); } Container parent = ((Container) top).getParent(); if (parent != null && !clazz.isAssignableFrom(parent.getClass())) { Modified: lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/JAXXContext.java =================================================================== --- lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/JAXXContext.java 2008-10-30 22:05:12 UTC (rev 1010) +++ lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/JAXXContext.java 2008-11-02 18:12:23 UTC (rev 1011) @@ -3,63 +3,81 @@ import java.awt.Container; /** - * todo (make javadoc :) ) - * + * The {@link jaxx.runtime.JAXXContext} contract defines a generic context. + * <p/> + * A context contains two king of entries : + * <p/> + * <h2>Unamed entry</h2> + * a such entry maps filter only on the clas of the object of the entry. + * <p/> + * To add a <b>unamed</b> entry, use {@link #setContextValue(Object)} and {@link #getContextValue(Class)} to reteave a + * such entry. + * <p/> + * <h2>named entry</h2> + * a such entry filter on class of the object and on the name of the entry. + * <p/> + * To add a <b>named</b> entry, use {@link #setContextValue(Object,String)} and {@link #getContextValue(Class,String)} + * to reteave a such entry. + * * @author letellier + * @author chemit */ public interface JAXXContext { /** - * Map actions objects used by JAXX interface. - * - * @param o todo + * Push in the context a new unamed entry. + * <p/> + * If a previous entry exists in context (unamed and same class), it will be removed. + * + * @param o the value to push in context */ - public void setContextValue(Object o); + public void setContextValue(Object o); - /** - * Map actions objects used by JAXX interface and their names. + /** + * * Push in the context a new amed entry. + * <p/> + * If a previous entry exists in context (same name and class), it will be removed. * - * @param o todo - * @param name todo + * @param o the value to push in context + * @param name the name of the new entry */ - public void setContextValue(Object o, String name); - + public void setContextValue(Object o, String name); + /** - * Return action object used by JAXX interface. + * Seek for a unamed entry in the context + * <p/> * This is an exemple to call a method in JAXX : - * - * <code> - * <JButton onActionPerformed='{getContextValue(Action.class).method(args[])}'/> - * </code> + * <p/> + * <code><JButton onActionPerformed='{getContextValue(Action.class).method(args[])}'/></code> * - * @param clazz todo - * @return todo + * @param clazz the class of unamed entry to seek in context + * @return the value of the unamed entry for the given class, or <code>null</code> if no such entry. */ - public <T> T getContextValue(Class<T> clazz); - + public <T> T getContextValue(Class<T> clazz); + /** - * Return action object used by JAXX interface. + * Seek for a named entry in the context * - * @param clazz todo - * @param name todo - * @return todo + * @param clazz the class of named entry to seek in context + * @param name the name of the entry to seek in context + * @return the value of the named entry for the given class, or <code>null</code> if no such entry. */ - public <T> T getContextValue(Class<T> clazz, String name); - + public <T> T getContextValue(Class<T> clazz, String name); + /** * Return parent's container corresponding to the Class clazz * * @param clazz clazz desired * @return parent's container */ - public <O extends Container> O getParentContainer(Class<O> clazz); - - /** + public <O extends Container> O getParentContainer(Class<O> clazz); + + /** * Return parent's container corresponding to the Class clazz * - * @param top todo + * @param top the top container * @param clazz desired * @return parent's container */ - public <O extends Container> O getParentContainer(Object top, Class<O> clazz); + public <O extends Container> O getParentContainer(Object top, Class<O> clazz); } Added: lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/JAXXContextEntryDef.java =================================================================== --- lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/JAXXContextEntryDef.java (rev 0) +++ lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/JAXXContextEntryDef.java 2008-11-02 18:12:23 UTC (rev 1011) @@ -0,0 +1,69 @@ +package jaxx.runtime; + +import java.util.Collections; +import java.util.List; + +/** + * To qualify an entry in a {@link JAXXContext}. + * <p/> + * Use the factory methods <code>newDef</code> and <code>newListDef</code< to obtain new instances. + * + * @author chemit + */ +public class JAXXContextEntryDef<O> implements java.io.Serializable { + + /** name of the entry, can be nuill for a unamed entry. */ + protected String name; + + /** class of the entry, can not be null */ + protected Class<O> klass; + + private static final long serialVersionUID = 1L; + + public static <O> JAXXContextEntryDef<O> newDef(Class<O> klass) { + return newDef(null, klass); + } + + public static <O> JAXXContextEntryDef<O> newDef(String name, Class<O> klass) { + return new JAXXContextEntryDef<O>(name, klass); + } + + public static <O> JAXXContextEntryDef<List<O>> newListDef() { + return newListDef(null); + } + + public static <O> JAXXContextEntryDef<List<O>> newListDef(String name) { + return new JAXXContextEntryDef<List<O>>(name, JAXXContextEntryDef.<O>castList()); + } + + + public String getName() { + return name; + } + + public Class<O> getKlass() { + return klass; + } + + public O getContextValue(JAXXContext context) { + return context.getContextValue(klass, name); + } + + protected JAXXContextEntryDef(Class<O> klass) { + this(null, klass); + } + + protected JAXXContextEntryDef(String name, Class<O> klass) { + if (klass == null) { + throw new IllegalArgumentException("class can not be null"); + } + this.name = name; + this.klass = klass; + } + + @SuppressWarnings({"unchecked"}) + protected static <O> Class<List<O>> castList() { + return (Class<List<O>>) Collections.emptyList().getClass(); + } + +} Modified: lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/JAXXInitialContext.java =================================================================== --- lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/JAXXInitialContext.java 2008-10-30 22:05:12 UTC (rev 1010) +++ lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/JAXXInitialContext.java 2008-11-02 18:12:23 UTC (rev 1011) @@ -22,6 +22,7 @@ */ public class JAXXInitialContext implements JAXXContext { + /** This class define a simple entry of a {@link JAXXContext}. */ public static class JAXXInitialContextEntry implements Entry<String, Object> { protected String key; Modified: lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/ClassDescriptorTest.java =================================================================== --- lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/ClassDescriptorTest.java 2008-10-30 22:05:12 UTC (rev 1010) +++ lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/ClassDescriptorTest.java 2008-11-02 18:12:23 UTC (rev 1011) @@ -1,50 +1,57 @@ package jaxx.junit; -import java.awt.*; -import junit.framework.TestCase; +import jaxx.reflect.ClassDescriptor; +import jaxx.reflect.ClassDescriptorLoader; +import jaxx.reflect.MethodDescriptor; +import org.junit.Assert; +import org.junit.Test; -import jaxx.reflect.*; - -public class ClassDescriptorTest extends TestCase { +public class ClassDescriptorTest { + + @Test public void testBuiltInClassName() throws ClassNotFoundException, NoSuchMethodException { ClassDescriptor object = ClassDescriptorLoader.getClassDescriptor("java.lang.Object"); MethodDescriptor toString = object.getMethodDescriptor("toString", new ClassDescriptor[0]); - assertEquals(toString.getName(), "toString"); - assertEquals(toString.getParameterTypes().length, 0); + Assert.assertEquals(toString.getName(), "toString"); + Assert.assertEquals(toString.getParameterTypes().length, 0); - MethodDescriptor equals = object.getMethodDescriptor("equals", new ClassDescriptor[] { object }); - assertEquals(equals.getName(), "equals"); - assertEquals(equals.getParameterTypes().length, 1); - assertEquals(equals.getParameterTypes()[0], object); + MethodDescriptor equals = object.getMethodDescriptor("equals", new ClassDescriptor[]{object}); + Assert.assertEquals(equals.getName(), "equals"); + Assert.assertEquals(equals.getParameterTypes().length, 1); + Assert.assertEquals(equals.getParameterTypes()[0], object); } - + @Test public void testBuiltInClass() throws ClassNotFoundException, NoSuchMethodException { ClassDescriptor object1 = ClassDescriptorLoader.getClassDescriptor("java.lang.Object"); ClassDescriptor object2 = ClassDescriptorLoader.getClassDescriptor(Object.class); - assertEquals(object1, object2); + Assert.assertEquals(object1, object2); } - - + + @Test public void testUserClassName() throws ClassNotFoundException, NoSuchMethodException { ClassDescriptor me = ClassDescriptorLoader.getClassDescriptor("jaxx.junit.ClassDescriptorTest", getClass().getClassLoader()); MethodDescriptor testUserClassName = me.getMethodDescriptor("testUserClassName", new ClassDescriptor[0]); - assertEquals(testUserClassName.getName(), "testUserClassName"); - assertEquals(testUserClassName.getParameterTypes().length, 0); + Assert.assertEquals(testUserClassName.getName(), "testUserClassName"); + Assert.assertEquals(testUserClassName.getParameterTypes().length, 0); } - - - public void testWrongCase() { - try { - ClassDescriptor object = ClassDescriptorLoader.getClassDescriptor("jaxx.junit.classdescriptortest", getClass().getClassLoader()); - fail("Found descriptor using wrong case: " + object); - } - catch (ClassNotFoundException e) { } + + @Test(expected = ClassNotFoundException.class) + public void testWrongCase() throws ClassNotFoundException { + //try { + //ClassDescriptor object = + ClassDescriptorLoader.getClassDescriptor("jaxx.junit.classdescriptortest", getClass().getClassLoader()); + // fail("Found descriptor using wrong case: " + object); + //} + //catch (ClassNotFoundException e) { + //} } - - + + @Test public void testArrays() throws ClassNotFoundException { ClassDescriptor intArray = ClassDescriptorLoader.getClassDescriptor(int[].class); + Assert.assertNotNull(intArray); ClassDescriptor objectArray = ClassDescriptorLoader.getClassDescriptor(Object[].class); + Assert.assertNotNull(objectArray); } } \ No newline at end of file Modified: lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/ColorConverterTest.java =================================================================== --- lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/ColorConverterTest.java 2008-10-30 22:05:12 UTC (rev 1010) +++ lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/ColorConverterTest.java 2008-11-02 18:12:23 UTC (rev 1011) @@ -1,59 +1,51 @@ package jaxx.junit; -import java.awt.*; -import junit.framework.TestCase; +import jaxx.types.ColorConverter; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; -import jaxx.types.*; - -public class ColorConverterTest extends TestCase { - private ColorConverter converter; +import java.awt.Color; +public class ColorConverterTest { + + ColorConverter converter; + + @Before public void setUp() { converter = new ColorConverter(); } - - + + @Test public void testHexValue() { Color value = (Color) converter.convertFromString("#3000FF", Color.class); - assertEquals(value, new Color(48, 0, 255)); + Assert.assertEquals(value, new Color(48, 0, 255)); } - - + + @Test public void testUpperCaseConstant() { Color value = (Color) converter.convertFromString("RED", Color.class); - assertEquals(value, Color.RED); + Assert.assertEquals(value, Color.RED); } - - + + @Test public void testLowerCaseConstant() { Color value = (Color) converter.convertFromString("blue", Color.class); - assertEquals(value, Color.blue); + Assert.assertEquals(value, Color.blue); } - + @Test(expected = IllegalArgumentException.class) public void testMissingHash() { - try { - Color value = (Color) converter.convertFromString("ABCDEF", Color.class); - fail("Expected IllegalArgumentException"); - } - catch (IllegalArgumentException e) { } + converter.convertFromString("ABCDEF", Color.class); } - + @Test(expected = IllegalArgumentException.class) public void testInvalidNumber() { - try { - Color value = (Color) converter.convertFromString("#ABCDEG", Color.class); - fail("Expected IllegalArgumentException"); - } - catch (IllegalArgumentException e) { } + converter.convertFromString("#ABCDEG", Color.class); } - + @Test(expected = IllegalArgumentException.class) public void testInvalidConstant() { - try { - Color value = (Color) converter.convertFromString("rEd", Color.class); - fail("Expected IllegalArgumentException"); - } - catch (IllegalArgumentException e) { } + converter.convertFromString("rEd", Color.class); } } \ No newline at end of file Modified: lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/InsetsConverterTest.java =================================================================== --- lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/InsetsConverterTest.java 2008-10-30 22:05:12 UTC (rev 1010) +++ lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/InsetsConverterTest.java 2008-11-02 18:12:23 UTC (rev 1011) @@ -1,62 +1,50 @@ package jaxx.junit; -import java.awt.*; -import junit.framework.TestCase; +import jaxx.types.InsetsConverter; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; -import jaxx.types.*; - -public class InsetsConverterTest extends TestCase { - private InsetsConverter converter; +import java.awt.Insets; +public class InsetsConverterTest { + + InsetsConverter converter; + + @Before public void setUp() { converter = new InsetsConverter(); } - - + + @Test public void testSingleValue() { Insets value = (Insets) converter.convertFromString("3", Insets.class); - assertEquals(value, new Insets(3, 3, 3, 3)); + Assert.assertEquals(value, new Insets(3, 3, 3, 3)); } - - + + @Test public void testFourValues() { Insets value = (Insets) converter.convertFromString("3, 0, 12, 1000000", Insets.class); - assertEquals(value, new Insets(3, 0, 12, 1000000)); + Assert.assertEquals(value, new Insets(3, 0, 12, 1000000)); } - - + + @Test(expected = IllegalArgumentException.class) public void testTwoValues() { - try { - Insets value = (Insets) converter.convertFromString("0, 4", Insets.class); - fail("Expected IllegalArgumentException"); - } - catch (IllegalArgumentException e) { } + converter.convertFromString("0, 4", Insets.class); } - + @Test(expected = IllegalArgumentException.class) public void testThreeValues() { - try { - Insets value = (Insets) converter.convertFromString("0, 4, 9", Insets.class); - fail("Expected IllegalArgumentException"); - } - catch (IllegalArgumentException e) { } + converter.convertFromString("0, 4, 9", Insets.class); } - - + + @Test(expected = IllegalArgumentException.class) public void testInvalidNumber() { - try { - Insets value = (Insets) converter.convertFromString("0, 4, 9, A", Insets.class); - fail("Expected IllegalArgumentException"); - } - catch (IllegalArgumentException e) { } + converter.convertFromString("0, 4, 9, A", Insets.class); } - - + + @Test(expected = IllegalArgumentException.class) public void testBadFormatting() { - try { - Insets value = (Insets) converter.convertFromString("0 - 1 - 2 - 3", Insets.class); - fail("Expected IllegalArgumentException"); - } - catch (IllegalArgumentException e) { } + converter.convertFromString("0 - 1 - 2 - 3", Insets.class); } } \ No newline at end of file Modified: lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/JavaFileParserTest.java =================================================================== --- lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/JavaFileParserTest.java 2008-10-30 22:05:12 UTC (rev 1010) +++ lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/JavaFileParserTest.java 2008-11-02 18:12:23 UTC (rev 1011) @@ -3,47 +3,51 @@ import jaxx.CompilerException; import jaxx.reflect.ClassDescriptor; import jaxx.reflect.JavaFileParser; -import junit.framework.TestCase; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; import java.io.File; import java.io.FileReader; import java.io.Reader; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +public class JavaFileParserTest { -public class JavaFileParserTest extends TestCase { - /** log */ protected static final Log log = LogFactory.getLog(JavaFileParserTest.class); - - protected File getBaseDir() { + + static File basedir; + + @BeforeClass + public static void initBaseDir() { // get maven env basedir String basedir = System.getenv("basedir"); if (basedir == null) { basedir = new File("").getAbsolutePath(); } - return new File(basedir); + JavaFileParserTest.basedir = new File(basedir); } + @Test public void testParseJavaSourceFile() throws Exception { + File testSourceRoot = new File(basedir, "src" + File.separator + "test" + File.separator + "java"); + Assert.assertTrue(testSourceRoot.exists()); - File testSourceRoot = new File(getBaseDir(), "src" + File.separator + "test" + File.separator + "java"); - assertTrue(testSourceRoot.exists()); - File src = new File(testSourceRoot, getClass().getName().replaceAll("\\.", File.separator) + ".java"); - assertTrue(src.exists()); + Assert.assertTrue(src.exists()); log.info("trying parsing file " + src); Reader reader = new FileReader(src); try { ClassDescriptor result = JavaFileParser.parseJavaFile("TestParserJava", reader, getClass().getClassLoader()); - assertNotNull(result); - + Assert.assertNotNull(result); + } catch (CompilerException e) { - log.error("could not parse file "+src+" for reason "+e.getMessage(),e); - fail(e.getMessage()); + log.error("could not parse file " + src + " for reason " + e.getMessage(), e); + Assert.fail(e.getMessage()); } finally { reader.close(); Modified: lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/PrimitiveConverterTest.java =================================================================== --- lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/PrimitiveConverterTest.java 2008-10-30 22:05:12 UTC (rev 1010) +++ lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/PrimitiveConverterTest.java 2008-11-02 18:12:23 UTC (rev 1011) @@ -1,106 +1,113 @@ package jaxx.junit; -import junit.framework.TestCase; +import jaxx.types.PrimitiveConverter; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; -import jaxx.types.*; - -public class PrimitiveConverterTest extends TestCase { - private PrimitiveConverter converter; +public class PrimitiveConverterTest { + PrimitiveConverter converter; + + + @Before public void setUp() { converter = new PrimitiveConverter(); } - - + + @Test public void testBoolean() { Boolean value = (Boolean) converter.convertFromString("true", Boolean.class); - assertTrue(value.booleanValue()); + Assert.assertTrue(value); value = (Boolean) converter.convertFromString("false", Boolean.class); - assertFalse(value.booleanValue()); + Assert.assertFalse(value); - try { - value = (Boolean) converter.convertFromString("yes", Boolean.class); - fail("Expected IllegalArgumentException"); - } - catch (IllegalArgumentException e) { } } + @Test(expected = IllegalArgumentException.class) + public void testBoolean2() { + converter.convertFromString("yes", Boolean.class); + } + @Test public void testByte() { Byte value = (Byte) converter.convertFromString(String.valueOf(Byte.MAX_VALUE), Byte.class); - assertEquals(value.byteValue(), Byte.MAX_VALUE); + Assert.assertEquals(value.byteValue(), Byte.MAX_VALUE); - try { - value = (Byte) converter.convertFromString(String.valueOf(1 + Byte.MAX_VALUE), Byte.class); - fail("Expected NumberFormatException"); - } - catch (NumberFormatException e) { } } + @Test(expected = IllegalArgumentException.class) + public void testByte2() { + converter.convertFromString(String.valueOf(1 + Byte.MAX_VALUE), Byte.class); + } + + @Test public void testShort() { Short value = (Short) converter.convertFromString(String.valueOf(Short.MAX_VALUE), Short.class); - assertEquals(value.shortValue(), Short.MAX_VALUE); + Assert.assertEquals(value.shortValue(), Short.MAX_VALUE); - try { - value = (Short) converter.convertFromString(String.valueOf(1 + Short.MAX_VALUE), Short.class); - fail("Expected NumberFormatException"); - } - catch (NumberFormatException e) { } + } + @Test(expected = IllegalArgumentException.class) + public void testShort2() { + converter.convertFromString(String.valueOf(1 + Short.MAX_VALUE), Short.class); + } + + @Test public void testInteger() { Integer value = (Integer) converter.convertFromString(String.valueOf(Integer.MAX_VALUE), Integer.class); - assertEquals(value.intValue(), Integer.MAX_VALUE); + Assert.assertEquals(value.intValue(), Integer.MAX_VALUE); + } - try { - value = (Integer) converter.convertFromString(String.valueOf(1L + Integer.MAX_VALUE), Integer.class); - fail("Expected NumberFormatException"); - } - catch (NumberFormatException e) { } + @Test(expected = IllegalArgumentException.class) + public void testInteger2() { + + converter.convertFromString(String.valueOf(1L + Integer.MAX_VALUE), Integer.class); } - + @Test public void testLong() { Long value = (Long) converter.convertFromString(String.valueOf(Long.MAX_VALUE), Long.class); - assertEquals(value.longValue(), Long.MAX_VALUE); + Assert.assertEquals(value.longValue(), Long.MAX_VALUE); } - + @Test public void testFloat() { Float value = (Float) converter.convertFromString("3.1415", Float.class); - assertTrue(value.floatValue() == 3.1415f); + Assert.assertTrue(value == 3.1415f); } - + @Test public void testDouble() { Double value = (Double) converter.convertFromString("3.1415", Double.class); - assertTrue(value.doubleValue() == 3.1415); + Assert.assertTrue(value == 3.1415); } - - + + @Test public void testCharacter() { Character value = (Character) converter.convertFromString("A", Character.class); - assertEquals(value.charValue(), 'A'); + Assert.assertEquals(value.charValue(), 'A'); + } - try { - value = (Character) converter.convertFromString("12", Character.class); - fail("Expected IllegalArgumentException"); - } - catch (IllegalArgumentException e) { } + @Test(expected = IllegalArgumentException.class) + public void testCharacter2() { - try { - value = (Character) converter.convertFromString("", Character.class); - fail("Expected IllegalArgumentException"); - } - catch (IllegalArgumentException e) { } + converter.convertFromString("12", Character.class); + } - - + + @Test(expected = IllegalArgumentException.class) + public void testCharacter3() { + converter.convertFromString("", Character.class); + } + + @Test public void testString() { String value = (String) converter.convertFromString("Test", String.class); - assertEquals(value, "Test"); + Assert.assertEquals(value, "Test"); } } \ No newline at end of file Modified: lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/TagManagerTest.java =================================================================== --- lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/TagManagerTest.java 2008-10-30 22:05:12 UTC (rev 1010) +++ lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/TagManagerTest.java 2008-11-02 18:12:23 UTC (rev 1011) @@ -7,7 +7,10 @@ import jaxx.tags.DefaultObjectHandler; import jaxx.tags.TagHandler; import jaxx.tags.TagManager; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; import javax.swing.JPopupMenu; import java.io.ByteArrayOutputStream; @@ -15,12 +18,10 @@ import java.io.InputStream; import java.io.OutputStream; import java.io.PrintStream; -import java.io.IOException; -public class TagManagerTest extends TestCase { - private JAXXCompiler compiler = JAXXCompiler.createDummyCompiler(); +public class TagManagerTest { - protected static boolean init=false; + JAXXCompiler compiler = JAXXCompiler.createDummyCompiler(); public static class TestHandler extends DefaultObjectHandler { public TestHandler(ClassDescriptor beanClass) { @@ -28,105 +29,108 @@ } } + @BeforeClass + public static void initTagManaer() throws Exception { - public void setUp() throws IOException, ClassNotFoundException, InstantiationException, IllegalAccessException { + TagManager.reset(true); + + } + + @Before + public void setUp() { compiler.addImport("javax.swing.*"); - if (!init) { - TagManager.reset(true); - init=true; - } + } - + @Test public void testRegisterBean() { TagManager.registerBean(ClassDescriptorLoader.getClassDescriptor(InputStream.class), TestHandler.class); - assertTrue(TagManager.getTagHandler(ClassDescriptorLoader.getClassDescriptor(InputStream.class)) instanceof TestHandler); - assertTrue(TagManager.getTagHandler(ClassDescriptorLoader.getClassDescriptor(FileInputStream.class)) instanceof TestHandler); + Assert.assertTrue(TagManager.getTagHandler(ClassDescriptorLoader.getClassDescriptor(InputStream.class)) instanceof TestHandler); + Assert.assertTrue(TagManager.getTagHandler(ClassDescriptorLoader.getClassDescriptor(FileInputStream.class)) instanceof TestHandler); } - + @Test public void testRegisterDefaultNamespace() { TagManager.registerBean(ClassDescriptorLoader.getClassDescriptor(OutputStream.class), TestHandler.class); TagManager.registerDefaultNamespace("OutputStream", "java.io.*"); - assertTrue("Could not find handler for OutputStream despite default namespace", TagManager.getTagHandler(null, "OutputStream", compiler) instanceof TestHandler); + Assert.assertTrue("Could not find handler for OutputStream despite default namespace", TagManager.getTagHandler(null, "OutputStream", compiler) instanceof TestHandler); PrintStream oldErr = System.err; ByteArrayOutputStream buffer = new ByteArrayOutputStream(); System.setErr(new PrintStream(buffer)); TagManager.registerDefaultNamespace("OutputStream", "java.dummy.*"); - assertNull("Found handler for OutputStream despite ambiguous default namespace", TagManager.getTagHandler(null, "OutputStream", compiler)); + Assert.assertNull("Found handler for OutputStream despite ambiguous default namespace", TagManager.getTagHandler(null, "OutputStream", compiler)); System.setErr(oldErr); - assertTrue("No errors were produced with an ambiguous default namespace", buffer.size() > 0); - assertTrue(buffer.size() > 0); + Assert.assertTrue("No errors were produced with an ambiguous default namespace", buffer.size() > 0); + Assert.assertTrue(buffer.size() > 0); } - + @Test public void testResolveClassName() { - assertEquals("Could not resolve class name 'Object'", TagManager.resolveClassName("Object", compiler), "java.lang.Object"); - assertEquals("Could not resolve class name 'java.lang.Object'", TagManager.resolveClassName("java.lang.Object", compiler), "java.lang.Object"); - assertNull("Unexpectedly resolved class name 'java.awt.Object'", TagManager.resolveClassName("java.awt.Object", compiler)); + Assert.assertEquals("Could not resolve class name 'Object'", TagManager.resolveClassName("Object", compiler), "java.lang.Object"); + Assert.assertEquals("Could not resolve class name 'java.lang.Object'", TagManager.resolveClassName("java.lang.Object", compiler), "java.lang.Object"); + Assert.assertNull("Unexpectedly resolved class name 'java.awt.Object'", TagManager.resolveClassName("java.awt.Object", compiler)); } - + @Test public void testPackages() { - assertNull("Unexpectedly found handler for java.awt.JButton", TagManager.getTagHandler(null, "java.awt.JButton", compiler)); - assertNotNull("Did not find handler for JButton with default namespace of java.awt.*", TagManager.getTagHandler("java.awt.*", "JButton", compiler)); - assertNull("Unexpectedly found handler for java.awt.*:JButton", TagManager.getTagHandler("java.awt.*", "JButton", true, compiler)); - assertNotNull("Did not find handler for javax.swing.JButton", TagManager.getTagHandler(null, "javax.swing.JButton", compiler)); - assertNotNull("Did not find handler for JButton with default namespace of java.swing.*", TagManager.getTagHandler("java.swing.*", "JButton", compiler)); - assertNotNull("Did not find handler for javax.swing.*:JButton", TagManager.getTagHandler("javax.swing.*", "JButton", true, compiler)); + Assert.assertNull("Unexpectedly found handler for java.awt.JButton", TagManager.getTagHandler(null, "java.awt.JButton", compiler)); + Assert.assertNotNull("Did not find handler for JButton with default namespace of java.awt.*", TagManager.getTagHandler("java.awt.*", "JButton", compiler)); + Assert.assertNull("Unexpectedly found handler for java.awt.*:JButton", TagManager.getTagHandler("java.awt.*", "JButton", true, compiler)); + Assert.assertNotNull("Did not find handler for javax.swing.JButton", TagManager.getTagHandler(null, "javax.swing.JButton", compiler)); + Assert.assertNotNull("Did not find handler for JButton with default namespace of java.swing.*", TagManager.getTagHandler("java.swing.*", "JButton", compiler)); + Assert.assertNotNull("Did not find handler for javax.swing.*:JButton", TagManager.getTagHandler("javax.swing.*", "JButton", true, compiler)); } - + @Test public void testImport() throws Exception { - assertNull("Found handler for ActionListener despite no java.awt.event.* import", TagManager.getTagHandler(null, "ActionListener", compiler)); + Assert.assertNull("Found handler for ActionListener despite no java.awt.event.* import", TagManager.getTagHandler(null, "ActionListener", compiler)); compiler.addImport("java.awt.event.*"); - //fixme makethis test works again - // assertNotNull("Did not find ActionListener with java.awt.event.* import", TagManager.getTagHandler(null, "ActionListener", compiler)); + Assert.assertNotNull("Did not find ActionListener with java.awt.event.* import", TagManager.getTagHandler(null, "ActionListener", compiler)); } - + @Test public void testAmbiguousImport() throws Exception { compiler.addImport("java.sql.*"); - assertNotNull("Did not find java.sql.Date with only java.sql.* imported", TagManager.getTagHandler(null, "Date", compiler)); + Assert.assertNotNull("Did not find java.sql.Date with only java.sql.* imported", TagManager.getTagHandler(null, "Date", compiler)); PrintStream oldErr = System.err; ByteArrayOutputStream buffer = new ByteArrayOutputStream(); System.setErr(new PrintStream(buffer)); compiler.addImport("java.util.*"); TagManager.reset(true); - assertNull("Still found a handler for Date with an ambiguous import", TagManager.getTagHandler(null, "Date", compiler)); + Assert.assertNull("Still found a handler for Date with an ambiguous import", TagManager.getTagHandler(null, "Date", compiler)); System.setErr(oldErr); - assertTrue("No errors were produced with an ambiguous import", buffer.size() > 0); + Assert.assertTrue("No errors were produced with an ambiguous import", buffer.size() > 0); compiler.addImport("java.util.Date"); - assertNotNull("Did not find java.util.Date with a disambiguating import", TagManager.getTagHandler(null, "Date", compiler)); + Assert.assertNotNull("Did not find java.util.Date with a disambiguating import", TagManager.getTagHandler(null, "Date", compiler)); } - + @Test public void testInnerClass() { TagHandler handler = TagManager.getTagHandler(null, "JPopupMenu.Separator", compiler); - assertTrue("Unable to resolve tag <JPopupMenu.Separator>", handler instanceof DefaultComponentHandler); - assertTrue(((DefaultComponentHandler) handler).getBeanClass().getName().equals(JPopupMenu.Separator.class.getName())); + Assert.assertTrue("Unable to resolve tag <JPopupMenu.Separator>", handler instanceof DefaultComponentHandler); + Assert.assertTrue(((DefaultComponentHandler) handler).getBeanClass().getName().equals(JPopupMenu.Separator.class.getName())); handler = TagManager.getTagHandler(null, "javax.swing.JPopupMenu.Separator", compiler); - assertTrue("Unable to resolve tag <javax.swing.JPopupMenu.Separator>", handler instanceof DefaultComponentHandler); - assertTrue(((DefaultComponentHandler) handler).getBeanClass().getName().equals(JPopupMenu.Separator.class.getName())); + Assert.assertTrue("Unable to resolve tag <javax.swing.JPopupMenu.Separator>", handler instanceof DefaultComponentHandler); + Assert.assertTrue(((DefaultComponentHandler) handler).getBeanClass().getName().equals(JPopupMenu.Separator.class.getName())); } - + @Test public void testWrongCase() { - assertNull("Unexpectedly found handler for 'object'", TagManager.getTagHandler(null, "object", compiler)); - assertNull("Unexpectedly found handler for 'tagmanagertest'", TagManager.getTagHandler(null, "tagmanagertest", compiler)); + Assert.assertNull("Unexpectedly found handler for 'object'", TagManager.getTagHandler(null, "object", compiler)); + Assert.assertNull("Unexpectedly found handler for 'tagmanagertest'", TagManager.getTagHandler(null, "tagmanagertest", compiler)); } - + @Test public void testAliasing() { - assertEquals("JComboBox is not aliased to jaxx.runtime.swing.JAXXComboBox", "jaxx.runtime.swing.JAXXComboBox", TagManager.resolveClassName("JComboBox", compiler)); - assertEquals("javax.swing.JComboBox is not aliased to jaxx.runtime.swing.JAXXComboBox", "jaxx.runtime.swing.JAXXComboBox", TagManager.resolveClassName("javax.swing.JComboBox", compiler)); + Assert.assertEquals("JComboBox is not aliased to jaxx.runtime.swing.JAXXComboBox", "jaxx.runtime.swing.JAXXComboBox", TagManager.resolveClassName("JComboBox", compiler)); + Assert.assertEquals("javax.swing.JComboBox is not aliased to jaxx.runtime.swing.JAXXComboBox", "jaxx.runtime.swing.JAXXComboBox", TagManager.resolveClassName("javax.swing.JComboBox", compiler)); } } \ No newline at end of file Modified: lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/ValidatorBean.java =================================================================== --- lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/ValidatorBean.java 2008-10-30 22:05:12 UTC (rev 1010) +++ lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/ValidatorBean.java 2008-11-02 18:12:23 UTC (rev 1011) @@ -10,9 +10,8 @@ protected File notExistingFile; protected File existingDirectory; - protected File notExistingDirectory; + protected File notExistingDirectory; - PropertyChangeSupport p; public ValidatorBean() { @@ -61,7 +60,7 @@ public void setNotExistingFile(File notExistingFile) { File old = this.notExistingFile; this.notExistingFile = notExistingFile; - p.firePropertyChange("notExistingFile", old, notExistingFile); + p.firePropertyChange("notExistingFile", old, notExistingFile); } public void setExistingDirectory(File existingDirectory) { Modified: lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/ValidatorTest.java =================================================================== --- lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/ValidatorTest.java 2008-10-30 22:05:12 UTC (rev 1010) +++ lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/junit/ValidatorTest.java 2008-11-02 18:12:23 UTC (rev 1011) @@ -3,50 +3,51 @@ import jaxx.runtime.validator.BeanValidator; import jaxx.runtime.validator.BeanValidatorError; import jaxx.runtime.validator.BeanValidatorErrorListModel; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; import javax.swing.JLabel; import java.io.File; import java.util.Enumeration; /** @author chemit */ -public class ValidatorTest extends TestCase { +public class ValidatorTest { ValidatorBean bean; - static protected Boolean init = null; - - static protected BeanValidator<ValidatorBean> validator; - static protected BeanValidatorErrorListModel errors; - static protected File basedir; - @Override - protected void setUp() throws Exception { - super.setUp(); - if (init == null) { - String b = System.getenv("basedir"); - if (b == null) { - b = new File("").getAbsolutePath(); - } - basedir = new File(b); - validator = new BeanValidator<ValidatorBean>(); - validator.setErrorListModel(errors = new BeanValidatorErrorListModel()); - JLabel label = new JLabel(); - validator.setFieldRepresentation("existingFile", label); - validator.setFieldRepresentation("existingDirectory", label); - validator.setFieldRepresentation("notExistingFile", label); - validator.setFieldRepresentation("notExistingDirectory", label); - init = true; + @BeforeClass + public static void initValidator() throws Exception { + + String b = System.getenv("basedir"); + if (b == null) { + b = new File("").getAbsolutePath(); } + basedir = new File(b); + validator = new BeanValidator<ValidatorBean>(); + validator.setErrorListModel(errors = new BeanValidatorErrorListModel()); + JLabel label = new JLabel(); + validator.setFieldRepresentation("existingFile", label); + validator.setFieldRepresentation("existingDirectory", label); + validator.setFieldRepresentation("notExistingFile", label); + validator.setFieldRepresentation("notExistingDirectory", label); + + } + + @Before + public void setUp() throws Exception { validator.setBean(bean = new ValidatorBean()); } + @Test public void testRequiredFileFieldValidator() throws Exception { - assertNull(bean.getExistingFile()); + Assert.assertNull(bean.getExistingFile()); assertFieldInError("existingFile", "existingFile.required", true); bean.setExistingFile(new File("")); @@ -63,9 +64,10 @@ } + @Test public void testExistingFileFieldValidator() throws Exception { - assertNull(bean.getExistingFile()); + Assert.assertNull(bean.getExistingFile()); assertFieldInError("existingFile", "existingFile.required", true); bean.setExistingFile(new File("")); @@ -83,9 +85,10 @@ } + @Test public void testNotExistingFileFieldValidator() throws Exception { - assertNull(bean.getNotExistingFile()); + Assert.assertNull(bean.getNotExistingFile()); assertFieldInError("notExistingFile", "notExistingFile.required", true); bean.setNotExistingFile(new File("")); @@ -109,9 +112,10 @@ } + @Test public void testExistingDirectoryFieldValidator() throws Exception { - assertNull(bean.getExistingDirectory()); + Assert.assertNull(bean.getExistingDirectory()); assertFieldInError("existingDirectory", "existingDirectory.required", true); bean.setExistingDirectory(new File("")); @@ -129,8 +133,9 @@ } + @Test public void testNotExistingDirectoryFieldValidator() throws Exception { - assertNull(bean.getNotExistingDirectory()); + Assert.assertNull(bean.getNotExistingDirectory()); assertFieldInError("notExistingDirectory", "notExistingDirectory.required", true); bean.setNotExistingDirectory(new File("")); @@ -152,16 +157,17 @@ assertFieldInError("notExistingDirectory", "notExistingDirectory.exist", false); } + protected void assertFieldInError(String s, String error, boolean required) { Enumeration<?> myErrors = errors.elements(); while (myErrors.hasMoreElements()) { BeanValidatorError o = (BeanValidatorError) myErrors.nextElement(); if (o.getFieldName().equals(s) && o.getError().equals(error)) { - assertTrue(required); + Assert.assertTrue(required); return; } } // error was not found - assertFalse(required); + Assert.assertFalse(required); } } Modified: lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/runtime/DefaultJAXXContextTest.java =================================================================== --- lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/runtime/DefaultJAXXContextTest.java 2008-10-30 22:05:12 UTC (rev 1010) +++ lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/runtime/DefaultJAXXContextTest.java 2008-11-02 18:12:23 UTC (rev 1011) @@ -1,89 +1,103 @@ package jaxx.runtime; import jaxx.runtime.validator.BeanValidator; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; import java.awt.Container; import java.util.List; import java.util.Map; /** @author chemit */ -public class DefaultJAXXContextTest extends TestCase { +public class DefaultJAXXContextTest { JAXXContext ctxt; - @Override - protected void setUp() throws Exception { - super.setUp(); + @Before + public void initContext() throws Exception { + // instanciate a new empty context ctxt = new DefaultJAXXContext(); } - public void testParentContainer() throws Exception { - try { - ctxt.getParentContainer(Container.class); - fail(); - } catch (IllegalStateException e) { - assertTrue(true); - } - try { - ctxt.getParentContainer("null", Container.class); - fail(); - } catch (IllegalStateException e) { - assertTrue(true); - } + @Test(expected = IllegalStateException.class) + public void testParentContainerFail_IllegalStateException() throws Exception { + ctxt.getParentContainer(Container.class); + } + @Test(expected = IllegalStateException.class) + public void testParentContainerFail_IllegalStateException2() throws Exception { + ctxt.getParentContainer("null", Container.class); + } + + + @Test(expected = IllegalArgumentException.class) + public void testParentContainerFail_IllegalArgumentException() throws Exception { + // attach a fake ui (which is NOT a Container) ((DefaultJAXXContext) ctxt).setUi(new MyJAXXObject()); - try { - ctxt.getParentContainer(Container.class); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + ctxt.getParentContainer(Container.class); + } - try { - ctxt.getParentContainer(null, Container.class); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + @Test(expected = IllegalArgumentException.class) + public void testParentContainerFail_IllegalArgumentException2() throws Exception { - try { - ctxt.getParentContainer("null", Container.class); - fail(); - } catch (IllegalArgumentException e) { - assertTrue(true); - } + // attach a fake ui (which is NOT a Container) + ((DefaultJAXXContext) ctxt).setUi(new MyJAXXObject()); + ctxt.getParentContainer(null, Container.class); + } - //todo finish test with a real JAXXObject + @Test(expected = IllegalArgumentException.class) + public void testParentContainerFail_IllegalArgumentException3() throws Exception { + // attach a fake ui (which is NOT a Container) + ((DefaultJAXXContext) ctxt).setUi(new MyJAXXObject()); + ctxt.getParentContainer("null", Container.class); } + @Test + public void testGetParentContext() throws Exception { + JAXXContext expected, result; + expected = null; + result = ctxt.getContextValue(JAXXContext.class); + Assert.assertEquals(expected, result); + + DefaultJAXXContext parentContext = new DefaultJAXXContext(); + + ctxt.setContextValue(parentContext); + + expected = parentContext; + result = ctxt.getContextValue(JAXXContext.class); + Assert.assertEquals(expected, result); + + } + + @Test public void testSetGetContextValue() throws Exception { String expected; String result; result = ctxt.getContextValue(String.class); - assertNull(result); + Assert.assertNull(result); expected = "yo"; ctxt.setContextValue(expected); result = ctxt.getContextValue(String.class); - assertEquals(expected, result); + Assert.assertEquals(expected, result); expected = "ya"; ctxt.setContextValue(expected, "second"); result = ctxt.getContextValue(String.class, "second"); - assertEquals(expected, result); + Assert.assertEquals(expected, result); expected = "yi"; ctxt.setContextValue(expected, "second"); result = ctxt.getContextValue(String.class, "second"); - assertEquals(expected, result); + Assert.assertEquals(expected, result); } - private static class MyJAXXObject implements JAXXObject { + private static class MyJAXXObject extends DefaultJAXXContext implements JAXXObject { public Object getObjectById(String id) { return null; @@ -105,28 +119,6 @@ public void firePropertyChange(String name, Object oldValue, Object newValue) { } - public void setContextValue(Object o) { - } - - public void setContextValue(Object o, String name) { - } - - public <T> T getContextValue(Class<T> clazz) { - return null; - } - - public <T> T getContextValue(Class<T> clazz, String name) { - return null; - } - - public <O extends Container> O getParentContainer(Class<O> clazz) { - return null; - } - - public <O extends Container> O getParentContainer(Object top, Class<O> clazz) { - return null; - } - public BeanValidator<?> getValidator(String validatorId) { return null; } Modified: lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/runtime/UtilTest.java =================================================================== --- lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/runtime/UtilTest.java 2008-10-30 22:05:12 UTC (rev 1010) +++ lutinjaxx/trunk/jaxx-core/src/test/java/jaxx/runtime/UtilTest.java 2008-11-02 18:12:23 UTC (rev 1011) @@ -1,20 +1,24 @@ package jaxx.runtime; +import org.junit.Assert; +import org.junit.Test; + import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; -public class UtilTest extends junit.framework.TestCase { - private int count; +public class UtilTest { + int count; + @Test public void testGetEventListener() { count = 0; DocumentListener listener = (DocumentListener) jaxx.runtime.Util.getEventListener(javax.swing.event.DocumentListener.class, this, "incCount"); listener.insertUpdate(null); - assertEquals(count, 1); + Assert.assertEquals(count, 1); DocumentListener listener2 = (DocumentListener) jaxx.runtime.Util.getEventListener(javax.swing.event.DocumentListener.class, this, "incCount"); listener2.removeUpdate(null); - assertEquals(count, 2); + Assert.assertEquals(count, 2); //assertTrue("Received two different event listeners despite using identical parameters", listener == listener2); } Modified: lutinjaxx/trunk/jaxx-core/src/test/resources/log4j.properties =================================================================== --- lutinjaxx/trunk/jaxx-core/src/test/resources/log4j.properties 2008-10-30 22:05:12 UTC (rev 1010) +++ lutinjaxx/trunk/jaxx-core/src/test/resources/log4j.properties 2008-11-02 18:12:23 UTC (rev 1011) @@ -5,5 +5,4 @@ log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) %M - %m%n -#log4j.logger.org.codelutin.jaxx=DEBUG -#log4j.logger.jaxx=DEBUG +log4j.logger.jaxx=DEBUG