package com.tngtech.archunit.lang.conditions.testobjects; import java.nio.file.Paths; import com.tngtech.archunit.core.domain.JavaClass; import com.tngtech.archunit.core.domain.JavaClasses; import com.tngtech.archunit.core.importer.ClassFileImporter; public class TestObjects { private static final JavaClasses testClasses = importTestClasses(); private static JavaClasses importTestClasses() { try { return new ClassFileImporter().importPath(Paths.get(TestObjects.class.getResource(".").toURI())); } catch (Exception e) { throw new RuntimeException(e); } } private TestObjects() { } public static final JavaClass CALLER_CLASS = findClass(testClasses, CallerClass.class); public static final JavaClass TARGET_CLASS = findClass(testClasses, TargetClass.class); public static final JavaClass CLASS_THAT_DOES_NOTHING = findClass(testClasses, ClassThatDoesNothing.class); private static JavaClass findClass(JavaClasses classes, Class<?> type) { for (JavaClass clazz : classes) { if (clazz.reflect() == type) { return clazz; } } throw new RuntimeException("Couldn't find test class with type " + type); } }