1 package org.apache.maven.surefire.util;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.surefire.testset.TestSetFailedException;
23
24 import java.util.Arrays;
25 import java.util.Collections;
26 import java.util.HashSet;
27 import java.util.Iterator;
28 import java.util.List;
29 import java.util.Set;
30
31
32
33
34
35
36
37 public class TestsToRun
38 {
39 private final List locatedClasses;
40
41
42
43
44
45
46 public TestsToRun( List locatedClasses )
47 {
48 this.locatedClasses = Collections.unmodifiableList( locatedClasses );
49 Set testSets = new HashSet();
50
51 for ( Iterator iterator = locatedClasses.iterator(); iterator.hasNext(); )
52 {
53 Class testClass = (Class) iterator.next();
54 if ( testSets.contains( testClass ) )
55 {
56 throw new RuntimeException( "Duplicate test set '" + testClass.getName() + "'" );
57 }
58 testSets.add( testClass );
59 }
60 }
61
62 public static TestsToRun fromClass( Class clazz )
63 throws TestSetFailedException
64 {
65 return new TestsToRun( Arrays.asList( new Class[]{ clazz } ) );
66 }
67
68 public int size()
69 {
70 return locatedClasses.size();
71 }
72
73 public Class[] getLocatedClasses()
74 {
75 return (Class[]) locatedClasses.toArray( new Class[locatedClasses.size()] );
76 }
77
78
79
80
81
82
83 public Iterator iterator()
84 {
85 return locatedClasses.iterator();
86 }
87 }