[P-unit-devel] SF.net SVN: p-unit: [221] trunk/punit
Status: Beta
Brought to you by:
zhanghuangzhu
|
From: <zha...@us...> - 2007-06-23 13:07:45
|
Revision: 221
http://p-unit.svn.sourceforge.net/p-unit/?rev=221&view=rev
Author: zhanghuangzhu
Date: 2007-06-23 06:07:46 -0700 (Sat, 23 Jun 2007)
Log Message:
-----------
Andrew Zhang: combined two getConcurrent methods in the Convention interface.
Modified Paths:
--------------
trunk/punit/src/org/punit/convention/Convention.java
trunk/punit/src/org/punit/convention/NameConvention.java
trunk/punit/src/org/punit/method/runner/ConcurrentMethodRunner.java
trunk/punit.extension/src/org/punit/convention/AnnotationConvention.java
trunk/punit.extension/src/org/punit/convention/JUnitAnnotationConvention.java
trunk/punit.test/src/tests/api/org/punit/convention/AnnotationFilterTest.java
trunk/punit.test/src/tests/api/org/punit/convention/JUnitAnnotationConventionTest.java
trunk/punit.test/src/tests/api/org/punit/convention/NameConventionFilterTest.java
Added Paths:
-----------
trunk/punit/src/org/punit/type/Loop.java
Modified: trunk/punit/src/org/punit/convention/Convention.java
===================================================================
--- trunk/punit/src/org/punit/convention/Convention.java 2007-06-18 12:58:04 UTC (rev 220)
+++ trunk/punit/src/org/punit/convention/Convention.java 2007-06-23 13:07:46 UTC (rev 221)
@@ -32,10 +32,8 @@
public Class getExpectedException(Method method);
- public int getConcurrentCount(Method method);
+ public int getConcurrentCount(Object testInstance, Method method);
- public int getConcurrentCount(Object testInstance);
-
public Method getSetupMethod(Class test);
public Method getTearDownMethod(Class test);
@@ -43,4 +41,8 @@
public Method getBeforeClassMethod(Class test);
public Method getAfterClassMethod(Class test);
+
+ public int getToStop(Method method);
+
+ public int getToAbort(Method method);
}
Modified: trunk/punit/src/org/punit/convention/NameConvention.java
===================================================================
--- trunk/punit/src/org/punit/convention/NameConvention.java 2007-06-18 12:58:04 UTC (rev 220)
+++ trunk/punit/src/org/punit/convention/NameConvention.java 2007-06-23 13:07:46 UTC (rev 221)
@@ -85,11 +85,7 @@
return null;
}
- public int getConcurrentCount(Method method) {
- return 0;
- }
-
- public int getConcurrentCount(Object testInstance) {
+ public int getConcurrentCount(Object testInstance, Method method) {
if(testInstance instanceof Concurrent) {
return ((Concurrent)testInstance).concurrentCount();
}
@@ -120,5 +116,13 @@
return ReflectionUtil.getMethodAndSetAccessible(test, "tearDown", new Class[] {}); //$NON-NLS-1$
}
+ public int getToAbort(Method method) {
+ throw new UnsupportedOperationException();
+ }
+
+ public int getToStop(Method method) {
+ throw new UnsupportedOperationException();
+ }
+
}
Modified: trunk/punit/src/org/punit/method/runner/ConcurrentMethodRunner.java
===================================================================
--- trunk/punit/src/org/punit/method/runner/ConcurrentMethodRunner.java 2007-06-18 12:58:04 UTC (rev 220)
+++ trunk/punit/src/org/punit/method/runner/ConcurrentMethodRunner.java 2007-06-23 13:07:46 UTC (rev 221)
@@ -48,15 +48,8 @@
}
private void initThreads() {
- int threadCount = _concurrentCount;
- int count = _convention.getConcurrentCount(_testInstance);
- if(count > 0) {
- threadCount = count;
- }
- count = _convention.getConcurrentCount(_method);
- if(count > 0) {
- threadCount = count;
- }
+ int count = _convention.getConcurrentCount(_testInstance, _method);
+ int threadCount = count > 0? count : _concurrentCount;
_threads = new TestMethodThread[threadCount];
for (int i = 0; i < _threads.length; ++i) {
_threads[i] = new TestMethodThread(this, "punit concurrent method runner"); //$NON-NLS-1$
Added: trunk/punit/src/org/punit/type/Loop.java
===================================================================
--- trunk/punit/src/org/punit/type/Loop.java (rev 0)
+++ trunk/punit/src/org/punit/type/Loop.java 2007-06-23 13:07:46 UTC (rev 221)
@@ -0,0 +1,19 @@
+/* (C) Copyright 2007, by Andrew Zhang */
+
+package org.punit.type;
+
+/**
+ * If a test implements this interface, punit concurrent runner will executes
+ * its method concurrently.
+ */
+public interface Loop {
+ /**
+ * @return returns the time to stop the loop
+ */
+ public long toStop();
+
+ /**
+ * @return returns the time to stop the loop
+ */
+ public long toAbort();
+}
Modified: trunk/punit.extension/src/org/punit/convention/AnnotationConvention.java
===================================================================
--- trunk/punit.extension/src/org/punit/convention/AnnotationConvention.java 2007-06-18 12:58:04 UTC (rev 220)
+++ trunk/punit.extension/src/org/punit/convention/AnnotationConvention.java 2007-06-23 13:07:46 UTC (rev 221)
@@ -57,18 +57,13 @@
return expected;
}
- public int getConcurrentCount(Method method) {
+ public int getConcurrentCount(Object testInstance, Method method) {
Test testAnnotation = getTestAnnotation(method);
if(testAnnotation == null) {
- return 0;
+ testAnnotation = getTestAnnotation(testInstance.getClass());
}
- return testAnnotation.concurrentCount();
- }
-
- public int getConcurrentCount(Object testInstnace) {
- Test testAnnotation = getTestAnnotation(testInstnace.getClass());
if(testAnnotation == null) {
- return _delegate.getConcurrentCount(testInstnace);
+ return _delegate.getConcurrentCount(testInstance, method);
}
return testAnnotation.concurrentCount();
}
@@ -112,4 +107,12 @@
}
return method;
}
+
+ public int getToAbort(Method method) {
+ throw new UnsupportedOperationException();
+ }
+
+ public int getToStop(Method method) {
+ throw new UnsupportedOperationException();
+ }
}
Modified: trunk/punit.extension/src/org/punit/convention/JUnitAnnotationConvention.java
===================================================================
--- trunk/punit.extension/src/org/punit/convention/JUnitAnnotationConvention.java 2007-06-18 12:58:04 UTC (rev 220)
+++ trunk/punit.extension/src/org/punit/convention/JUnitAnnotationConvention.java 2007-06-23 13:07:46 UTC (rev 221)
@@ -43,13 +43,9 @@
return expected;
}
- public int getConcurrentCount(Method method) {
- return 0;
+ public int getConcurrentCount(Object testInstance, Method method) {
+ return _delegate.getConcurrentCount(testInstance, method);
}
-
- public int getConcurrentCount(Object testInstnace) {
- return _delegate.getConcurrentCount(testInstnace);
- }
private Test getTestAnnotation(Method method) {
return method.getAnnotation(Test.class);
@@ -86,4 +82,12 @@
}
return method;
}
+
+ public int getToAbort(Method method) {
+ throw new UnsupportedOperationException();
+ }
+
+ public int getToStop(Method method) {
+ throw new UnsupportedOperationException();
+ }
}
Modified: trunk/punit.test/src/tests/api/org/punit/convention/AnnotationFilterTest.java
===================================================================
--- trunk/punit.test/src/tests/api/org/punit/convention/AnnotationFilterTest.java 2007-06-18 12:58:04 UTC (rev 220)
+++ trunk/punit.test/src/tests/api/org/punit/convention/AnnotationFilterTest.java 2007-06-23 13:07:46 UTC (rev 221)
@@ -7,7 +7,6 @@
import junit.framework.*;
import org.punit.annotation.*;
-import org.punit.annotation.Test;
import org.punit.convention.*;
import org.punit.util.*;
@@ -67,21 +66,25 @@
}
public void testGetConcurrentCount1() {
+ Method method = ReflectionUtil.getMethod(ConcurrentTestClass.class, "test1", new Class[] {}); //$NON-NLS-1$
ConcurrentTestClass test = new ConcurrentTestClass();
- int count = _filter.getConcurrentCount(test);
+ int count = _filter.getConcurrentCount(test, method);
assertEquals(test.concurrentCount(), count);
- assertEquals(0, _filter.getConcurrentCount(new TestClass()));
+
+ method = ReflectionUtil.getMethod(AnnotationTestClass.class, "test1", new Class[] {}); //$NON-NLS-1$
+ assertEquals(0, _filter.getConcurrentCount(new TestClass(), method));
}
public void testGetConcurrentCountClass() {
+ Method method = ReflectionUtil.getMethod(AnnotationTestClass.class, "test1", new Class[] {}); //$NON-NLS-1$
AnnotationTestClass test = new AnnotationTestClass();
- int count = _filter.getConcurrentCount(test);
+ int count = _filter.getConcurrentCount(test, method);
assertEquals(5, count);
}
public void testGetConcurrentCountMethod() {
Method method = ReflectionUtil.getMethod(AnnotationTestClass.class, "_test2", new Class[] {}); //$NON-NLS-1$
- int count = _filter.getConcurrentCount(method);
+ int count = _filter.getConcurrentCount(new AnnotationTestClass(), method);
assertEquals(6, count);
}
Modified: trunk/punit.test/src/tests/api/org/punit/convention/JUnitAnnotationConventionTest.java
===================================================================
--- trunk/punit.test/src/tests/api/org/punit/convention/JUnitAnnotationConventionTest.java 2007-06-18 12:58:04 UTC (rev 220)
+++ trunk/punit.test/src/tests/api/org/punit/convention/JUnitAnnotationConventionTest.java 2007-06-23 13:07:46 UTC (rev 221)
@@ -72,21 +72,25 @@
}
public void testGetConcurrentCount1() {
+ Method method = ReflectionUtil.getMethod(ConcurrentTestClass.class, "test1", new Class[] {}); //$NON-NLS-1$
ConcurrentTestClass test = new ConcurrentTestClass();
- int count = _filter.getConcurrentCount(test);
+ int count = _filter.getConcurrentCount(test, method);
assertEquals(test.concurrentCount(), count);
- assertEquals(0, _filter.getConcurrentCount(new TestClass()));
+
+ method = ReflectionUtil.getMethod(TestClass.class, "test1", new Class[] {}); //$NON-NLS-1$
+ assertEquals(0, _filter.getConcurrentCount(new TestClass(), method));
}
public void testGetConcurrentCountClass() {
+ Method method = ReflectionUtil.getMethod(JUnitAnnotationTestClass.class, "test1", new Class[] {}); //$NON-NLS-1$
JUnitAnnotationTestClass test = new JUnitAnnotationTestClass();
- int count = _filter.getConcurrentCount(test);
+ int count = _filter.getConcurrentCount(test, method);
assertEquals(0, count);
}
public void testGetConcurrentCountMethod() {
Method method = ReflectionUtil.getMethod(JUnitAnnotationTestClass.class, "_test2", new Class[] {}); //$NON-NLS-1$
- int count = _filter.getConcurrentCount(method);
+ int count = _filter.getConcurrentCount(new JUnitAnnotationTestClass(), method);
assertEquals(0, count);
}
Modified: trunk/punit.test/src/tests/api/org/punit/convention/NameConventionFilterTest.java
===================================================================
--- trunk/punit.test/src/tests/api/org/punit/convention/NameConventionFilterTest.java 2007-06-18 12:58:04 UTC (rev 220)
+++ trunk/punit.test/src/tests/api/org/punit/convention/NameConventionFilterTest.java 2007-06-23 13:07:46 UTC (rev 221)
@@ -36,10 +36,13 @@
}
public void testGetConcurrentCount() {
+ Method method = ReflectionUtil.getMethod(getClass(), "test1", new Class[] {}); //$NON-NLS-1$
ConcurrentTestClass test = new ConcurrentTestClass();
- int count = _filter.getConcurrentCount(test);
+ int count = _filter.getConcurrentCount(test, method);
assertEquals(test.concurrentCount(), count);
- assertEquals(0, _filter.getConcurrentCount(new TestClass()));
+
+ method = ReflectionUtil.getMethod(getClass(), "test1", new Class[] {}); //$NON-NLS-1$
+ assertEquals(0, _filter.getConcurrentCount(new TestClass(), method));
}
public void testGetSetUpMethod() {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|