aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/junit/validator/PublicClassValidator.java
blob: fe3f18557f85dfafb08ace03b6333485111e3893 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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."));
        }
    }
}