/** * 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); } }
@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); } }
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 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())); } }