CVS: junit/src/org/junit/tests AnnotatedDescriptionTest.java, NONE, 1.1 SuiteMethodTest.java, 1.1, 1.2 AllTests.java, 1.10, 1.11 AssertionTest.java, 1.6, 1.7
David Saff <[email protected]> Thu, 26 Apr 2007 12:56:33 -0700
| Newsgroups | gmane.comp.java.junit.devel |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/junit/junit/src/org/junit/tests
In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv1805/src/org/junit/tests
Modified Files:
SuiteMethodTest.java AllTests.java AssertionTest.java
Added Files:
AnnotatedDescriptionTest.java
Log Message:
[Junit-trackers] [ junit-Bugs-1684562 ] assertEquals throws NPE while comparing null elements
Descriptions now have Annotations
--- NEW FILE: AnnotatedDescriptionTest.java ---
package org.junit.tests;
import static org.junit.Assert.*;
import java.lang.annotation.Annotation;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.Description;
import org.junit.runner.Request;
public class AnnotatedDescriptionTest {
@Retention(RetentionPolicy.RUNTIME)
public @interface MyOwnAnnotation {
}
@MyOwnAnnotation
public static class AnnotatedClass {
@Test
public void a() {
}
}
@Test
public void annotationsExistOnDescriptionsOfClasses() {
assertTrue((describe(AnnotatedClass.class).getAnnotation(
MyOwnAnnotation.class) != null));
}
@Test
public void getAnnotationsReturnsAllAnnotations() {
assertEquals(1, describe(ValueAnnotatedClass.class).getAnnotations()
.size());
}
@Ignore
public static class IgnoredClass {
@Test
public void a() {
}
}
@Test
public void annotationsExistOnDescriptionsOfIgnoredClass() {
assertTrue((describe(IgnoredClass.class).getAnnotation(Ignore.class) != null));
}
@Retention(RetentionPolicy.RUNTIME)
public @interface ValuedAnnotation {
String value();
}
@ValuedAnnotation("hello")
public static class ValueAnnotatedClass {
@Test
public void a() {
}
}
@Test
public void descriptionOfTestClassHasValuedAnnotation() {
Description description= describe(ValueAnnotatedClass.class);
assertEquals("hello", description.getAnnotation(ValuedAnnotation.class)
.value());
}
@Test
public void characterizeCreatingMyOwnAnnotation() {
Annotation annotation= new Ignore() {
public String value() {
return "message";
}
public Class<? extends Annotation> annotationType() {
return Ignore.class;
}
};
assertEquals(Ignore.class, annotation.annotationType());
}
private Description describe(Class<?> testClass) {
return Request.aClass(testClass).getRunner().getDescription();
}
}
Index: SuiteMethodTest.java
===================================================================
RCS file: /cvsroot/junit/junit/src/org/junit/tests/SuiteMethodTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- SuiteMethodTest.java 6 Dec 2006 01:22:48 -0000 1.1
+++ SuiteMethodTest.java 26 Apr 2007 19:56:30 -0000 1.2
@@ -1,11 +1,15 @@
package org.junit.tests;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
import junit.framework.JUnit4TestAdapter;
import junit.framework.TestCase;
import junit.framework.TestSuite;
+import org.junit.Ignore;
import org.junit.Test;
+import org.junit.runner.Description;
import org.junit.runner.JUnitCore;
+import org.junit.runner.Request;
+import org.junit.runner.Result;
public class SuiteMethodTest {
public static boolean wasRun;
@@ -47,4 +51,23 @@
JUnitCore.runClasses(NewTest.class);
assertTrue(wasRun);
}
+
+
+ public static class CompatibilityTest {
+ @Ignore @Test
+ public void ignored() {
+ }
+
+ public static junit.framework.Test suite() {
+ return new JUnit4TestAdapter(CompatibilityTest.class);
+ }
+ }
+
+ @Test public void descriptionAndRunNotificationsAreConsistent() {
+ Result result= JUnitCore.runClasses(CompatibilityTest.class);
+ assertEquals(0, result.getIgnoreCount());
+
+ Description description= Request.aClass(CompatibilityTest.class).getRunner().getDescription();
+ assertEquals(0, description.getChildren().size());
+ }
}
Index: AllTests.java
===================================================================
RCS file: /cvsroot/junit/junit/src/org/junit/tests/AllTests.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- AllTests.java 21 Feb 2007 18:24:10 -0000 1.10
+++ AllTests.java 26 Apr 2007 19:56:30 -0000 1.11
@@ -46,7 +46,8 @@
SuiteMethodTest.class,
TestClassMethodsRunnerTest.class,
IgnoreClassTest.class,
- OldTestClassAdaptingListenerTest.class
+ OldTestClassAdaptingListenerTest.class,
+ AnnotatedDescriptionTest.class
})
public class AllTests {
public static Test suite() {
Index: AssertionTest.java
===================================================================
RCS file: /cvsroot/junit/junit/src/org/junit/tests/AssertionTest.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- AssertionTest.java 8 Feb 2007 22:45:20 -0000 1.6
+++ AssertionTest.java 26 Apr 2007 19:56:30 -0000 1.7
@@ -193,6 +193,36 @@
assertEquals(1.0d, 1.0d, 0.0d);
}
+ @Test(expected= AssertionError.class) public void notEqualsObjectWithNull() {
+ assertEquals(new Object(), null);
+ }
+
+ @Test(expected= AssertionError.class) public void notEqualsNullWithObject() {
+ assertEquals(null, new Object());
+ }
+
+ @Test public void notEqualsObjectWithNullWithMessage() {
+ Object o = new Object();
+ try {
+ assertEquals("message", null, o);
+ fail();
+ }
+ catch(AssertionError e) {
+ assertEquals("message expected:<null> but was:<" + o.toString() + ">", e.getMessage());
+ }
+ }
+
+ @Test public void notEqualsNullWithObjectWithMessage() {
+ Object o = new Object();
+ try {
+ assertEquals("message", o, null);
+ fail();
+ }
+ catch(AssertionError e) {
+ assertEquals("message expected:<"+ o.toString() + "> but was:<null>", e.getMessage());
+ }
+ }
+
@Test(expected= AssertionError.class) public void objectsNotEquals() {
assertEquals(new Object(), new Object());
}
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/