CVS: junit/src/org/junit/experimental/test/javamodel FunctionTest.java, NONE, 1.1 ConcreteFunctionTest.java, NONE, 1.1
David Saff <[email protected]> Thu, 12 Jul 2007 10:08:23 -0700
| Newsgroups | gmane.comp.java.junit.devel |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/junit/junit/src/org/junit/experimental/test/javamodel
In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv26134/src/org/junit/experimental/test/javamodel
Added Files:
FunctionTest.java ConcreteFunctionTest.java
Log Message:
Re-organize theory packages
--- NEW FILE: FunctionTest.java ---
package org.junit.experimental.test.javamodel;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.nullValue;
import static org.junit.Assert.assertThat;
import org.junit.Before;
import org.junit.Test;
import org.junit.experimental.imposterization.FunctionPointer;
import org.junit.experimental.theories.methods.api.TestedOn;
public class FunctionTest {
public static class HasAnnotation {
public void something(@TestedOn(ints= { 3 })
int x) {
}
}
FunctionPointer function= FunctionPointer.pointer();
@Before
public void functionPoints() {
function.calls(new HasAnnotation()).something(4);
}
@SuppressWarnings("unchecked")
@Test
public void getSupplierAnnotation() {
assertThat(function.signatures().get(0).getSupplierAnnotation(),
is(TestedOn.class));
}
@Test
public void thrownReturnsNullIfNormalReturn() {
assertThat(function.exceptionThrown(4), nullValue());
}
}
--- NEW FILE: ConcreteFunctionTest.java ---
package org.junit.experimental.test.javamodel;
import static org.hamcrest.CoreMatchers.allOf;
import static org.hamcrest.CoreMatchers.not;
import static org.junit.Assert.assertThat;
import static org.junit.Assume.assumeThat;
import static org.junit.matchers.StringContains.containsString;
import java.lang.reflect.Method;
import org.junit.experimental.theories.methods.api.Theory;
import org.junit.experimental.theories.runner.ConcreteFunction;
import org.junit.experimental.theories.runner.api.Theories;
import org.junit.runner.RunWith;
@RunWith(Theories.class)
public class ConcreteFunctionTest {
public static Method TO_STRING;
public static Method WAIT;
static {
try {
TO_STRING= Object.class.getMethod("toString");
WAIT= Object.class.getMethod("wait");
} catch (Exception e) {
e.printStackTrace();
}
}
public static ConcreteFunction zeroToString1= new ConcreteFunction(0,
TO_STRING);
public static ConcreteFunction zeroToString2= new ConcreteFunction(0,
TO_STRING);
public static ConcreteFunction oneToString1= new ConcreteFunction(1,
TO_STRING);
public static ConcreteFunction oneFinalize= new ConcreteFunction(1, WAIT);
public static String ROB_KUTNER= "Rob Kutner";
@Theory
public void unequalToStringsMeansFunctionsUnequal(ConcreteFunction a,
ConcreteFunction b) {
assumeThat(a.toString(), not(b.toString()));
assertThat(a, not(b));
}
@Theory
public void unequalMethodsMeansUnequalFunctions(Method m1, Method m2,
Object o) {
assumeThat(m1, not(m2));
assertThat(new ConcreteFunction(o, m1),
not(new ConcreteFunction(o, m2)));
}
@Theory
public void unequalFunctionsMeanUnequalToStrings(ConcreteFunction a,
ConcreteFunction b) {
assumeThat(a, not(b));
assertThat(a.toString(), not(b.toString()));
}
@SuppressWarnings("unchecked")
@Theory
public void throwsUsefulErrorWhenParameterNumberWrong(String string)
throws Throwable {
try {
new ConcreteFunction(this, TO_STRING).invoke(string);
} catch (Exception e) {
assertThat(e.toString(), allOf(containsString(string),
containsString(TO_STRING.toString())));
}
}
}
-------------------------------------------------------------------------
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/