/** * Construct the full set of requirements for a tester method. * * @param testerMethod a test method of a tester class * @return all the constraints implicitly or explicitly required by the method, its declaring * class, or any of its superclasses. * @throws ConflictingRequirementsException if the requirements are mutually inconsistent. */ static TesterRequirements buildTesterRequirements(Method testerMethod) throws ConflictingRequirementsException { TesterRequirements clonedClassRequirements = new TesterRequirements(getTesterRequirements(testerMethod.getDeclaringClass())); TesterRequirements declaredRequirements = buildDeclaredTesterRequirements(testerMethod); return incorporateRequirements(clonedClassRequirements, declaredRequirements, testerMethod); }
/** * Construct the full set of requirements for a tester class. * * @param testerClass a tester class * @return all the constraints implicitly or explicitly required by the class or any of its * superclasses. * @throws ConflictingRequirementsException if the requirements are mutually inconsistent. */ static TesterRequirements buildTesterRequirements(Class<?> testerClass) throws ConflictingRequirementsException { final TesterRequirements declaredRequirements = buildDeclaredTesterRequirements(testerClass); Class<?> baseClass = testerClass.getSuperclass(); if (baseClass == null) { return declaredRequirements; } else { final TesterRequirements clonedBaseRequirements = new TesterRequirements(getTesterRequirements(baseClass)); return incorporateRequirements(clonedBaseRequirements, declaredRequirements, testerClass); } }
/** * Construct the set of requirements specified by annotations directly on a tester class or * method. * * @param classOrMethod a tester class or a test method thereof * @return all the constraints implicitly or explicitly required by annotations on the class or * method. * @throws ConflictingRequirementsException if the requirements are mutually inconsistent. */ public static TesterRequirements buildDeclaredTesterRequirements(AnnotatedElement classOrMethod) throws ConflictingRequirementsException { TesterRequirements requirements = new TesterRequirements(); Iterable<Annotation> testerAnnotations = getTesterAnnotations(classOrMethod); for (Annotation testerAnnotation : testerAnnotations) { TesterRequirements moreRequirements = buildTesterRequirements(testerAnnotation); incorporateRequirements(requirements, moreRequirements, testerAnnotation); } return requirements; }
testerAnnotation); return new TesterRequirements(allPresentFeatures, allAbsentFeatures);
@AndroidIncompatible // Android runs ExampleDerivedInterfaceTester directly if it exists public void testBuildTesterRequirements_class() throws Exception { assertEquals( FeatureUtil.buildTesterRequirements(ExampleBaseInterfaceTester.class), new TesterRequirements( Sets.<Feature<?>>newHashSet(ExampleBaseFeature.BASE_FEATURE_1), Collections.<Feature<?>>emptySet())); assertEquals( FeatureUtil.buildTesterRequirements(ExampleDerivedInterfaceTester.class), new TesterRequirements( Sets.<Feature<?>>newHashSet( ExampleBaseFeature.BASE_FEATURE_1, ExampleDerivedFeature.DERIVED_FEATURE_2), Collections.<Feature<?>>emptySet())); }
@AndroidIncompatible // Android runs ExampleDerivedInterfaceTester directly if it exists public void testBuildTesterRequirements_method() throws Exception { assertEquals( FeatureUtil.buildTesterRequirements( ExampleDerivedInterfaceTester.class.getMethod( "testRequiringTwoExplicitDerivedFeatures")), new TesterRequirements( Sets.<Feature<?>>newHashSet( ExampleBaseFeature.BASE_FEATURE_1, ExampleDerivedFeature.DERIVED_FEATURE_1, ExampleDerivedFeature.DERIVED_FEATURE_2), Collections.<Feature<?>>emptySet())); assertEquals( FeatureUtil.buildTesterRequirements( ExampleDerivedInterfaceTester.class.getMethod("testRequiringAllThreeDerivedFeatures")), new TesterRequirements( Sets.<Feature<?>>newHashSet( ExampleBaseFeature.BASE_FEATURE_1, ExampleDerivedFeature.DERIVED_FEATURE_1, ExampleDerivedFeature.DERIVED_FEATURE_2, ExampleDerivedFeature.DERIVED_FEATURE_3), Collections.<Feature<?>>emptySet())); }
@AndroidIncompatible // Android runs ExampleDerivedInterfaceTester directly if it exists public void testBuildDeclaredTesterRequirements() throws Exception { assertEquals( FeatureUtil.buildDeclaredTesterRequirements( ExampleDerivedInterfaceTester.class.getMethod( "testRequiringTwoExplicitDerivedFeatures")), new TesterRequirements( FeatureUtil.addImpliedFeatures( Sets.<Feature<?>>newHashSet( ExampleDerivedFeature.DERIVED_FEATURE_1, ExampleDerivedFeature.DERIVED_FEATURE_2)), Collections.<Feature<?>>emptySet())); } }
/** * Construct the full set of requirements for a tester method. * * @param testerMethod a test method of a tester class * @return all the constraints implicitly or explicitly required by the method, its declaring * class, or any of its superclasses. * @throws ConflictingRequirementsException if the requirements are mutually inconsistent. */ static TesterRequirements buildTesterRequirements(Method testerMethod) throws ConflictingRequirementsException { TesterRequirements clonedClassRequirements = new TesterRequirements(getTesterRequirements(testerMethod.getDeclaringClass())); TesterRequirements declaredRequirements = buildDeclaredTesterRequirements(testerMethod); return incorporateRequirements(clonedClassRequirements, declaredRequirements, testerMethod); }
/** * Construct the full set of requirements for a tester method. * @param testerMethod a test method of a tester class * @return all the constraints implicitly or explicitly required by the * method, its declaring class, or any of its superclasses. * @throws ConflictingRequirementsException if the requirements are mutually * inconsistent. */ static TesterRequirements buildTesterRequirements(Method testerMethod) throws ConflictingRequirementsException { TesterRequirements clonedClassRequirements = new TesterRequirements( getTesterRequirements(testerMethod.getDeclaringClass())); TesterRequirements declaredRequirements = buildDeclaredTesterRequirements(testerMethod); return incorporateRequirements( clonedClassRequirements, declaredRequirements, testerMethod); }
/** * Construct the full set of requirements for a tester class. * * @param testerClass a tester class * @return all the constraints implicitly or explicitly required by the class or any of its * superclasses. * @throws ConflictingRequirementsException if the requirements are mutually inconsistent. */ static TesterRequirements buildTesterRequirements(Class<?> testerClass) throws ConflictingRequirementsException { final TesterRequirements declaredRequirements = buildDeclaredTesterRequirements(testerClass); Class<?> baseClass = testerClass.getSuperclass(); if (baseClass == null) { return declaredRequirements; } else { final TesterRequirements clonedBaseRequirements = new TesterRequirements(getTesterRequirements(baseClass)); return incorporateRequirements(clonedBaseRequirements, declaredRequirements, testerClass); } }
/** * Construct the full set of requirements for a tester class. * @param testerClass a tester class * @return all the constraints implicitly or explicitly required by the class * or any of its superclasses. * @throws ConflictingRequirementsException if the requirements are mutually * inconsistent. */ static TesterRequirements buildTesterRequirements(Class<?> testerClass) throws ConflictingRequirementsException { final TesterRequirements declaredRequirements = buildDeclaredTesterRequirements(testerClass); Class<?> baseClass = testerClass.getSuperclass(); if (baseClass == null) { return declaredRequirements; } else { final TesterRequirements clonedBaseRequirements = new TesterRequirements(getTesterRequirements(baseClass)); return incorporateRequirements( clonedBaseRequirements, declaredRequirements, testerClass); } }
testerAnnotation); return new TesterRequirements(allPresentFeatures, allAbsentFeatures);
/** * Construct the set of requirements specified by annotations directly on a tester class or * method. * * @param classOrMethod a tester class or a test method thereof * @return all the constraints implicitly or explicitly required by annotations on the class or * method. * @throws ConflictingRequirementsException if the requirements are mutually inconsistent. */ public static TesterRequirements buildDeclaredTesterRequirements(AnnotatedElement classOrMethod) throws ConflictingRequirementsException { TesterRequirements requirements = new TesterRequirements(); Iterable<Annotation> testerAnnotations = getTesterAnnotations(classOrMethod); for (Annotation testerAnnotation : testerAnnotations) { TesterRequirements moreRequirements = buildTesterRequirements(testerAnnotation); incorporateRequirements(requirements, moreRequirements, testerAnnotation); } return requirements; }
/** * Construct the set of requirements specified by annotations * directly on a tester class or method. * @param classOrMethod a tester class or a test method thereof * @return all the constraints implicitly or explicitly required by * annotations on the class or method. * @throws ConflictingRequirementsException if the requirements are mutually * inconsistent. */ public static TesterRequirements buildDeclaredTesterRequirements( AnnotatedElement classOrMethod) throws ConflictingRequirementsException { TesterRequirements requirements = new TesterRequirements(); Iterable<Annotation> testerAnnotations = getTesterAnnotations(classOrMethod); for (Annotation testerAnnotation : testerAnnotations) { TesterRequirements moreRequirements = buildTesterRequirements(testerAnnotation); incorporateRequirements( requirements, moreRequirements, testerAnnotation); } return requirements; }
public void testBuildTesterRequirements_class() throws Exception { assertEquals(FeatureUtil.buildTesterRequirements( ExampleBaseInterfaceTester.class), new TesterRequirements( Sets.<Feature<?>>newHashSet(ExampleBaseFeature.BASE_FEATURE_1), Collections.<Feature<?>>emptySet())); assertEquals(FeatureUtil.buildTesterRequirements( ExampleDerivedInterfaceTester.class), new TesterRequirements( Sets.<Feature<?>>newHashSet( ExampleBaseFeature.BASE_FEATURE_1, ExampleDerivedFeature.DERIVED_FEATURE_2), Collections.<Feature<?>>emptySet())); }
public void testBuildDeclaredTesterRequirements() throws Exception { assertEquals(FeatureUtil.buildDeclaredTesterRequirements( ExampleDerivedInterfaceTester.class .getMethod("testRequiringTwoExplicitDerivedFeatures")), new TesterRequirements(FeatureUtil.addImpliedFeatures( Sets.<Feature<?>>newHashSet( ExampleDerivedFeature.DERIVED_FEATURE_1, ExampleDerivedFeature.DERIVED_FEATURE_2)), Collections.<Feature<?>>emptySet())); }
@AndroidIncompatible // Android runs ExampleDerivedInterfaceTester directly if it exists public void testBuildTesterRequirements_class() throws Exception { assertEquals( FeatureUtil.buildTesterRequirements(ExampleBaseInterfaceTester.class), new TesterRequirements( Sets.<Feature<?>>newHashSet(ExampleBaseFeature.BASE_FEATURE_1), Collections.<Feature<?>>emptySet())); assertEquals( FeatureUtil.buildTesterRequirements(ExampleDerivedInterfaceTester.class), new TesterRequirements( Sets.<Feature<?>>newHashSet( ExampleBaseFeature.BASE_FEATURE_1, ExampleDerivedFeature.DERIVED_FEATURE_2), Collections.<Feature<?>>emptySet())); }
public void testBuildTesterRequirements_method() throws Exception { assertEquals(FeatureUtil.buildTesterRequirements( ExampleDerivedInterfaceTester.class.getMethod( "testRequiringTwoExplicitDerivedFeatures")), new TesterRequirements( Sets.<Feature<?>>newHashSet( ExampleBaseFeature.BASE_FEATURE_1, ExampleDerivedFeature.DERIVED_FEATURE_1, ExampleDerivedFeature.DERIVED_FEATURE_2), Collections.<Feature<?>>emptySet())); assertEquals(FeatureUtil.buildTesterRequirements( ExampleDerivedInterfaceTester.class.getMethod( "testRequiringAllThreeDerivedFeatures")), new TesterRequirements( Sets.<Feature<?>>newHashSet( ExampleBaseFeature.BASE_FEATURE_1, ExampleDerivedFeature.DERIVED_FEATURE_1, ExampleDerivedFeature.DERIVED_FEATURE_2, ExampleDerivedFeature.DERIVED_FEATURE_3), Collections.<Feature<?>>emptySet())); }
@AndroidIncompatible // Android runs ExampleDerivedInterfaceTester directly if it exists public void testBuildTesterRequirements_method() throws Exception { assertEquals( FeatureUtil.buildTesterRequirements( ExampleDerivedInterfaceTester.class.getMethod( "testRequiringTwoExplicitDerivedFeatures")), new TesterRequirements( Sets.<Feature<?>>newHashSet( ExampleBaseFeature.BASE_FEATURE_1, ExampleDerivedFeature.DERIVED_FEATURE_1, ExampleDerivedFeature.DERIVED_FEATURE_2), Collections.<Feature<?>>emptySet())); assertEquals( FeatureUtil.buildTesterRequirements( ExampleDerivedInterfaceTester.class.getMethod("testRequiringAllThreeDerivedFeatures")), new TesterRequirements( Sets.<Feature<?>>newHashSet( ExampleBaseFeature.BASE_FEATURE_1, ExampleDerivedFeature.DERIVED_FEATURE_1, ExampleDerivedFeature.DERIVED_FEATURE_2, ExampleDerivedFeature.DERIVED_FEATURE_3), Collections.<Feature<?>>emptySet())); }
@AndroidIncompatible // Android runs ExampleDerivedInterfaceTester directly if it exists public void testBuildDeclaredTesterRequirements() throws Exception { assertEquals( FeatureUtil.buildDeclaredTesterRequirements( ExampleDerivedInterfaceTester.class.getMethod( "testRequiringTwoExplicitDerivedFeatures")), new TesterRequirements( FeatureUtil.addImpliedFeatures( Sets.<Feature<?>>newHashSet( ExampleDerivedFeature.DERIVED_FEATURE_1, ExampleDerivedFeature.DERIVED_FEATURE_2)), Collections.<Feature<?>>emptySet())); } }