Skip to content

Commit

Permalink
Extract inner classes from tests to examples package
Browse files Browse the repository at this point in the history
  • Loading branch information
dhemery committed Oct 19, 2010
1 parent 27358a5 commit 31993f3
Show file tree
Hide file tree
Showing 32 changed files with 122 additions and 112 deletions.
8 changes: 2 additions & 6 deletions .classpath
@@ -1,12 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="src" path="src/test/java"/>
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="lib" path="examples-for-testing/bin/finder/classpath.a"/>
<classpathentry kind="lib" path="examples-for-testing/bin/finder/classpath.b"/>
<classpathentry kind="lib" path="examples-for-testing/bin/finder/classpath.c"/>
<classpathentry kind="lib" path="examples-for-testing/bin/finder/classpath.d"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
Expand Up @@ -5,15 +5,16 @@
import static org.fest.assertions.Assertions.*;

import com.dhemery.runtimesuite.ClassFilter;
import com.dhemery.runtimesuite.examples.CategoryA;
import com.dhemery.runtimesuite.examples.CategoryB;
import com.dhemery.runtimesuite.examples.ClassInCategoriesAandB;
import com.dhemery.runtimesuite.examples.ClassInCategoriesCandD;
import com.dhemery.runtimesuite.examples.ClassInCategoryA;
import com.dhemery.runtimesuite.examples.ClassInCategoryB;
import com.dhemery.runtimesuite.examples.ClassWithNoCategories;
import com.dhemery.runtimesuite.filters.ClassesInCategories;

import examples.CategoryA;
import examples.CategoryB;
import examples.ClassInCategoriesAandB;
import examples.ClassInCategoriesCandD;
import examples.ClassInCategoryA;
import examples.ClassInCategoryB;
import examples.ClassWithNoCategories;

public class ClassesInCategoriesFilterTest {
@Test public void forASingleCategory_passesEachClassInThatCategory() {
ClassFilter filter = new ClassesInCategories(CategoryA.class);
Expand Down
Expand Up @@ -5,15 +5,16 @@
import static org.fest.assertions.Assertions.*;

import com.dhemery.runtimesuite.ClassFilter;
import com.dhemery.runtimesuite.examples.CategoryA;
import com.dhemery.runtimesuite.examples.CategoryB;
import com.dhemery.runtimesuite.examples.ClassInCategoriesAandB;
import com.dhemery.runtimesuite.examples.ClassInCategoriesCandD;
import com.dhemery.runtimesuite.examples.ClassInCategoryA;
import com.dhemery.runtimesuite.examples.ClassInCategoryB;
import com.dhemery.runtimesuite.examples.ClassWithNoCategories;
import com.dhemery.runtimesuite.filters.ClassesNotInCategories;

import examples.CategoryA;
import examples.CategoryB;
import examples.ClassInCategoriesAandB;
import examples.ClassInCategoriesCandD;
import examples.ClassInCategoryA;
import examples.ClassInCategoryB;
import examples.ClassWithNoCategories;

public class ClassesNotInCategoriesFilterTest {
@Test public void forASingleCategory_passesEachClassThatLacksThatCategory() {
ClassFilter filter = new ClassesNotInCategories(CategoryA.class);
Expand Down
95 changes: 52 additions & 43 deletions src/test/java/com/dhemery/runtimesuite/ClassesOnClasspathsTest.java
@@ -1,6 +1,7 @@
package com.dhemery.runtimesuite;

import java.io.File;
import java.util.ArrayList;
import java.util.Collection;

import org.junit.Test;
Expand All @@ -10,74 +11,82 @@
import static org.fest.assertions.Assertions.*;

public class ClassesOnClasspathsTest {
private static final String FINDER_EXAMPLES_PATH = "./examples-for-testing/bin/finder/";
private static final String FINDER_EXAMPLES_PATH = "./target/test-classes/";

@Test public void findsAllClassesOnASingleElementClasspath() {
String classpath = makeClasspath("classpath.a");
Collection<Class<?>> found = new ClassesOnClasspath(classpath).find();
assertThat(found).containsOnly(a.Test_a_1.class,
a.Test_a_2.class,
a.a.Test_aa_1.class,
a.a.Test_aa_2.class,
a.a.a.Test_aaa_1.class,
a.a.a.Test_aaa_2.class,
a.a.b.Test_aab_1.class,
a.a.b.Test_aab_2.class,
a.b.Test_ab_1.class,
a.b.Test_ab_2.class);
}

private String makeClasspath(String path) {
return FINDER_EXAMPLES_PATH + path;
Collection<Class<?>> foundClasses = new ClassesOnClasspath(classpath).find();
assertThat(namesOf(foundClasses)).containsOnly("a.Test_a_1",
"a.Test_a_2",
"a.a.Test_aa_1",
"a.a.Test_aa_2",
"a.a.a.Test_aaa_1",
"a.a.a.Test_aaa_2",
"a.a.b.Test_aab_1",
"a.a.b.Test_aab_2",
"a.b.Test_ab_1",
"a.b.Test_ab_2");
}

@Test public void findsAllClassesOnAMultipleElementClasspath() {
String classpath = makeClasspath("classpath.a")
+ File.pathSeparator
+ makeClasspath("classpath.b");
Collection<Class<?>> found = new ClassesOnClasspath(classpath).find();
assertThat(found).containsOnly(a.Test_a_1.class,
a.Test_a_2.class,
a.a.Test_aa_1.class,
a.a.Test_aa_2.class,
a.a.a.Test_aaa_1.class,
a.a.a.Test_aaa_2.class,
a.a.b.Test_aab_1.class,
a.a.b.Test_aab_2.class,
a.b.Test_ab_1.class,
a.b.Test_ab_2.class,
b.Test_b_1.class,
b.Test_b_2.class,
b.a.Test_ba_1.class,
b.a.Test_ba_2.class,
b.b.Test_bb_1.class,
b.b.Test_bb_2.class,
b.b.a.Test_bba_1.class,
b.b.a.Test_bba_2.class,
b.b.b.Test_bbb_1.class,
b.b.b.Test_bbb_2.class);
Collection<Class<?>> foundClasses = new ClassesOnClasspath(classpath).find();
assertThat(namesOf(foundClasses)).containsOnly("a.Test_a_1",
"a.Test_a_2",
"a.a.Test_aa_1",
"a.a.Test_aa_2",
"a.a.a.Test_aaa_1",
"a.a.a.Test_aaa_2",
"a.a.b.Test_aab_1",
"a.a.b.Test_aab_2",
"a.b.Test_ab_1",
"a.b.Test_ab_2",
"b.Test_b_1",
"b.Test_b_2",
"b.a.Test_ba_1",
"b.a.Test_ba_2",
"b.b.Test_bb_1",
"b.b.Test_bb_2",
"b.b.a.Test_bba_1",
"b.b.a.Test_bba_2",
"b.b.b.Test_bbb_1",
"b.b.b.Test_bbb_2");
}

@Test public void ignoresNonClassFiles() {
// classpath.c contains
// - ./c/Test_c_1.class
// - ./c/not-a-test.txt
String classpath = makeClasspath("classpath.c");
Collection<Class<?>> found = new ClassesOnClasspath(classpath).find();
assertThat(found).containsOnly(c.Test_c_1.class);
Collection<Class<?>> foundClasses = new ClassesOnClasspath(classpath).find();
assertThat(namesOf(foundClasses)).containsOnly("c.Test_c_1");
}

@Test public void ignoresNonTestClasses() {
// classpath.four contains
// - ./d/Test_d_1.class
// - ./d/NotATest_d_2.class
String classpath = makeClasspath("classpath.d");
Collection<Class<?>> found = new ClassesOnClasspath(classpath).find();
assertThat(found).containsOnly(d.Test_d_1.class);
Collection<Class<?>> foundClasses = new ClassesOnClasspath(classpath).find();
assertThat(namesOf(foundClasses)).containsOnly("d.Test_d_1");
}

@Test public void ignoresNonDirectoryClasspathElements() {
Collection<Class<?>> found = new ClassesOnClasspath("no.such.directory").find();
assertThat(found).isEmpty();
Collection<Class<?>> foundClasses = new ClassesOnClasspath("no.such.directory").find();
assertThat(foundClasses).isEmpty();
}

private String makeClasspath(String path) {
return FINDER_EXAMPLES_PATH + path;
}

private Collection<String> namesOf(Collection<Class<?>> classes) {
Collection<String> names = new ArrayList<String>();
for(Class<?> c : classes) {
names.add(c.getName());
}
return names;
}
}
Expand Up @@ -5,11 +5,12 @@
import static org.fest.assertions.Assertions.*;

import com.dhemery.runtimesuite.MethodFilter;
import com.dhemery.runtimesuite.examples.CategoryA;
import com.dhemery.runtimesuite.examples.CategoryB;
import com.dhemery.runtimesuite.examples.ClassWithCategorizedMethods;
import com.dhemery.runtimesuite.filters.MethodsInCategories;

import examples.CategoryA;
import examples.CategoryB;
import examples.ClassWithCategorizedMethods;

public class MethodsInCategoriesFilterTest {
private Class<?> targetClass = ClassWithCategorizedMethods.class;

Expand Down
Expand Up @@ -5,11 +5,12 @@
import static org.fest.assertions.Assertions.*;

import com.dhemery.runtimesuite.MethodFilter;
import com.dhemery.runtimesuite.examples.CategoryA;
import com.dhemery.runtimesuite.examples.CategoryB;
import com.dhemery.runtimesuite.examples.ClassWithCategorizedMethods;
import com.dhemery.runtimesuite.filters.MethodsNotInCategories;

import examples.CategoryA;
import examples.CategoryB;
import examples.ClassWithCategorizedMethods;

public class MethodsNotInCategoriesFilterTest {
private Class<?> targetClass = ClassWithCategorizedMethods.class;

Expand Down
Expand Up @@ -20,19 +20,20 @@
import com.dhemery.runtimesuite.Filter;
import com.dhemery.runtimesuite.Finder;
import com.dhemery.runtimesuite.RuntimeSuite;
import com.dhemery.runtimesuite.examples.ListedClassFinder;
import com.dhemery.runtimesuite.examples.ListedClassNonFinder;
import com.dhemery.runtimesuite.examples.ListedClassRejecterFilter;
import com.dhemery.runtimesuite.examples.ListedClassRejecterNonFilter;
import com.dhemery.runtimesuite.examples.MethodNamePrefixFilter;
import com.dhemery.runtimesuite.examples.NotRunnable;
import com.dhemery.runtimesuite.examples.Runnable1;
import com.dhemery.runtimesuite.examples.Runnable2;
import com.dhemery.runtimesuite.examples.Runnable3;
import com.dhemery.runtimesuite.examples.RunnableWithFilterableMethodNames;


public class ARuntimeSuite {

import examples.ListedClassFinder;
import examples.ListedClassNonFinder;
import examples.ListedClassRejecterFilter;
import examples.ListedClassRejecterNonFilter;
import examples.MethodNamePrefixFilter;
import examples.NotRunnable;
import examples.Runnable1;
import examples.Runnable2;
import examples.Runnable3;
import examples.RunnableWithFilterableMethodNames;


public class RuntimeSuiteTest {
public static class SuiteWithTwoFinders {
@Finder public ClassFinder classFinder1 = new ListedClassFinder(Runnable1.class);
@Finder public ClassFinder classFinder2 = new ListedClassFinder(Runnable2.class);
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

3 changes: 3 additions & 0 deletions src/test/java/examples/CategoryA.java
@@ -0,0 +1,3 @@
package examples;

public interface CategoryA {}
3 changes: 3 additions & 0 deletions src/test/java/examples/CategoryB.java
@@ -0,0 +1,3 @@
package examples;

public interface CategoryB {}
3 changes: 3 additions & 0 deletions src/test/java/examples/CategoryC.java
@@ -0,0 +1,3 @@
package examples;

public interface CategoryC {}
3 changes: 3 additions & 0 deletions src/test/java/examples/CategoryD.java
@@ -0,0 +1,3 @@
package examples;

public interface CategoryD {}
@@ -1,4 +1,4 @@
package com.dhemery.runtimesuite.examples;
package examples;

import org.junit.experimental.categories.Category;

Expand Down
@@ -1,4 +1,4 @@
package com.dhemery.runtimesuite.examples;
package examples;

import org.junit.experimental.categories.Category;

Expand Down
@@ -1,4 +1,4 @@
package com.dhemery.runtimesuite.examples;
package examples;

import org.junit.experimental.categories.Category;

Expand Down
@@ -1,4 +1,4 @@
package com.dhemery.runtimesuite.examples;
package examples;

import org.junit.experimental.categories.Category;

Expand Down
@@ -1,4 +1,4 @@
package com.dhemery.runtimesuite.examples;
package examples;

import org.junit.Test;
import org.junit.experimental.categories.Category;
Expand Down
3 changes: 3 additions & 0 deletions src/test/java/examples/ClassWithNoCategories.java
@@ -0,0 +1,3 @@
package examples;

public class ClassWithNoCategories {}
@@ -1,4 +1,4 @@
package com.dhemery.runtimesuite.examples;
package examples;

import com.dhemery.runtimesuite.ClassFinder;

Expand Down
@@ -1,4 +1,4 @@
package com.dhemery.runtimesuite.examples;
package examples;

import java.util.Arrays;
import java.util.Collection;
Expand Down
@@ -1,4 +1,4 @@
package com.dhemery.runtimesuite.examples;
package examples;

import com.dhemery.runtimesuite.ClassFilter;

Expand Down
@@ -1,4 +1,4 @@
package com.dhemery.runtimesuite.examples;
package examples;

import java.util.Arrays;
import java.util.List;
Expand Down
@@ -1,4 +1,4 @@
package com.dhemery.runtimesuite.examples;
package examples;

import java.lang.reflect.Method;

Expand Down
@@ -1,4 +1,4 @@
package com.dhemery.runtimesuite.examples;
package examples;

import org.junit.Test;

Expand Down
@@ -1,4 +1,4 @@
package com.dhemery.runtimesuite.examples;
package examples;

import org.junit.Test;

Expand Down
@@ -1,4 +1,4 @@
package com.dhemery.runtimesuite.examples;
package examples;

import org.junit.Test;

Expand Down
@@ -1,4 +1,4 @@
package com.dhemery.runtimesuite.examples;
package examples;

import org.junit.Test;

Expand Down

0 comments on commit 31993f3

Please sign in to comment.