/*
* Copyright 2015-2017 the original author or authors.
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
* accompanies this distribution and is available at
*
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.junit.jupiter.engine.discovery.predicates;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.ArrayList;
import java.util.Collection;
import java.util.function.Predicate;
import org.junit.jupiter.api.DynamicTest;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestFactory;
/**
* @since 5.0
*/
class IsScannableTestClassTests {
private final Predicate<Class<?>> isScannableTestClass = new IsScannableTestClass();
@Test
void privateStandardTestClassEvaluatesToFalse() {
assertFalse(isScannableTestClass.test(PrivateClassWithTestCases.class));
}
@Test
void privateClassWithTestFactoryEvaluatesToFalse() {
assertFalse(isScannableTestClass.test(PrivateClassWithTestFactory.class));
}
@Test
void privateClassWithNestedTestCasesEvaluatesToFalse() {
assertFalse(isScannableTestClass.test(PrivateClassWithNestedTestCases.class));
}
@Test
void standardTestClassEvaluatesToTrue() {
assertTrue(isScannableTestClass.test(ClassWithTestCases.class));
}
@Test
void classWithTestFactoryEvaluatesToTrue() {
assertTrue(isScannableTestClass.test(ClassWithTestFactory.class));
}
@Test
void classWithNestedTestCasesEvaluatesToTrue() {
assertTrue(isScannableTestClass.test(ClassWithNestedTestCases.class));
}
private class PrivateClassWithTestFactory {
@TestFactory
Collection<DynamicTest> factory() {
return new ArrayList<>();
}
}
private class PrivateClassWithTestCases {
@Test
void first() {
}
@Test
void second() {
}
}
private class PrivateClassWithNestedTestCases {
@Nested
class InnerClass {
@Test
void first() {
}
@Test
void second() {
}
}
}
}