You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kr...@apache.org on 2012/12/13 16:01:13 UTC

git commit: o Reinstated OO-style methods on TestsToRun

Updated Branches:
  refs/heads/master 9b3beb4f6 -> 7a6c71f14


o Reinstated OO-style methods on TestsToRun


Project: http://git-wip-us.apache.org/repos/asf/maven-surefire/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-surefire/commit/7a6c71f1
Tree: http://git-wip-us.apache.org/repos/asf/maven-surefire/tree/7a6c71f1
Diff: http://git-wip-us.apache.org/repos/asf/maven-surefire/diff/7a6c71f1

Branch: refs/heads/master
Commit: 7a6c71f14ab743d7ea948e75da82b4044a095a34
Parents: 9b3beb4
Author: Kristian Rosenvold <kr...@apache.org>
Authored: Thu Dec 13 16:00:45 2012 +0100
Committer: Kristian Rosenvold <kr...@apache.org>
Committed: Thu Dec 13 16:00:45 2012 +0100

----------------------------------------------------------------------
 .../org/apache/maven/surefire/util/TestsToRun.java |   27 +++++++++++++++
 .../apache/maven/surefire/util/TestsToRunTest.java |   12 ++++++
 .../maven/surefire/junit4/JUnit4Provider.java      |    5 ++-
 .../surefire/testng/TestNGDirectoryTestSuite.java  |   20 +----------
 4 files changed, 44 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/7a6c71f1/surefire-api/src/main/java/org/apache/maven/surefire/util/TestsToRun.java
----------------------------------------------------------------------
diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/util/TestsToRun.java b/surefire-api/src/main/java/org/apache/maven/surefire/util/TestsToRun.java
index 210aa5a..86e43d9 100644
--- a/surefire-api/src/main/java/org/apache/maven/surefire/util/TestsToRun.java
+++ b/surefire-api/src/main/java/org/apache/maven/surefire/util/TestsToRun.java
@@ -25,6 +25,7 @@ import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
+
 import org.apache.maven.surefire.testset.TestSetFailedException;
 
 /**
@@ -89,4 +90,30 @@ public class TestsToRun
         return sb.toString();
     }
 
+    public boolean containsAtLeast( int atLeast )
+    {
+        return containsAtLeast( iterator(), atLeast );
+    }
+
+    private boolean containsAtLeast( Iterator it, int atLeast )
+    {
+        for ( int i = 0; i < atLeast; i++ )
+        {
+            if ( !it.hasNext() )
+            {
+                return false;
+            }
+
+            it.next();
+        }
+
+        return true;
+    }
+
+    public boolean containsExactly( int items )
+    {
+        Iterator it = iterator();
+        return containsAtLeast( it, items ) && !it.hasNext();
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/7a6c71f1/surefire-api/src/test/java/org/apache/maven/surefire/util/TestsToRunTest.java
----------------------------------------------------------------------
diff --git a/surefire-api/src/test/java/org/apache/maven/surefire/util/TestsToRunTest.java b/surefire-api/src/test/java/org/apache/maven/surefire/util/TestsToRunTest.java
index d0a0ca0..165324f 100644
--- a/surefire-api/src/test/java/org/apache/maven/surefire/util/TestsToRunTest.java
+++ b/surefire-api/src/test/java/org/apache/maven/surefire/util/TestsToRunTest.java
@@ -43,6 +43,18 @@ public class TestsToRunTest
         assertFalse( it.hasNext() );
     }
 
+    public void testContainsAtleast(){
+        TestsToRun testsToRun = new TestsToRun( Arrays.asList( new Class[]{ T1.class, T2.class } ) );
+        assertTrue(testsToRun.containsAtLeast( 2 ));
+        assertFalse(testsToRun.containsAtLeast( 3 ));
+    }
+
+    public void testContainsExactly(){
+        TestsToRun testsToRun = new TestsToRun( Arrays.asList( new Class[]{ T1.class, T2.class } ) );
+        assertFalse(testsToRun.containsExactly( 1 ));
+        assertTrue(testsToRun.containsExactly( 2 ));
+        assertFalse(testsToRun.containsExactly( 3 ));
+    }
     class T1
     {
 

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/7a6c71f1/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java b/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java
index d2cc117..44cdb40 100644
--- a/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java
+++ b/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java
@@ -22,6 +22,7 @@ package org.apache.maven.surefire.junit4;
 import java.lang.reflect.Method;
 import java.util.Iterator;
 import java.util.List;
+
 import org.apache.maven.shared.utils.io.SelectorUtils;
 import org.apache.maven.surefire.common.junit4.JUnit4RunListener;
 import org.apache.maven.surefire.common.junit4.JUnit4RunListenerFactory;
@@ -118,7 +119,7 @@ public class JUnit4Provider
 
         runNotifer.fireTestRunStarted( null );
 
-        for ( Iterator<Class<?>> iter = testsToRun.iterator(); iter.hasNext(); )
+        for ( @SuppressWarnings( "unchecked" ) Iterator<Class<?>> iter = testsToRun.iterator(); iter.hasNext(); )
         {
             executeTestSet( iter.next(), reporter, runNotifer );
         }
@@ -206,7 +207,7 @@ public class JUnit4Provider
         return runOrderCalculator.orderTestClasses( scannedClasses );
     }
 
-    @SuppressWarnings( "unchecked" )
+    @SuppressWarnings("unchecked")
     private void upgradeCheck()
         throws TestSetFailedException
     {

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/7a6c71f1/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java b/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java
index 7c838a8..f4fc9f9 100644
--- a/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java
+++ b/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java
@@ -100,33 +100,17 @@ public class TestNGDirectoryTestSuite
         {
             executeLazy( testsToRun, reporterManagerFactory );
         }
-        else if ( containsAtLeast( testsToRun, 2 ) )
+        else if ( testsToRun.containsAtLeast( 2 ) )
         {
             executeMulti( testsToRun, reporterManagerFactory );
         }
-        else if ( containsAtLeast( testsToRun, 1 ) )
+        else if ( testsToRun.containsAtLeast( 1 ) )
         {
             Class testClass = (Class) testsToRun.iterator().next();
             executeSingleClass( reporterManagerFactory, testClass );
         }
     }
 
-    private boolean containsAtLeast( TestsToRun testsToRun, int atLeast )
-    {
-        Iterator it = testsToRun.iterator();
-        for ( int i = 0; i < atLeast; i++ )
-        {
-            if ( !it.hasNext() )
-            {
-                return false;
-            }
-
-            it.next();
-        }
-
-        return true;
-    }
-
     private void executeSingleClass( ReporterFactory reporterManagerFactory, Class testClass )
         throws TestSetFailedException
     {