package org.junit.validator; import static java.util.Collections.emptyList; import static java.util.Collections.singletonList; import java.util.List; import org.junit.runners.model.TestClass; /** * Validates that a {@link TestClass} is public. * * @since 4.12 */ public class PublicClassValidator implements TestClassValidator { private static final List<Exception> NO_VALIDATION_ERRORS = emptyList(); /** * Validate that the specified {@link TestClass} is public. * * @param testClass the {@link TestClass} that is validated. * @return an empty list if the class is public or a list with a single * exception otherwise. */ public List<Exception> validateTestClass(TestClass testClass) { if (testClass.isPublic()) { return NO_VALIDATION_ERRORS; } else { return singletonList(new Exception("The class " + testClass.getName() + " is not public.")); } } }