@AndroidIncompatible // Android runs ExampleDerivedInterfaceTester directly if it exists public void testBuildTesterRequirements_classClassConflict() throws Exception { try { FeatureUtil.buildTesterRequirements( ConflictingRequirementsExampleDerivedInterfaceTester.class); fail("Expected ConflictingRequirementsException"); } catch (ConflictingRequirementsException e) { assertThat(e.getConflicts()).contains(ExampleBaseFeature.BASE_FEATURE_1); assertEquals(ConflictingRequirementsExampleDerivedInterfaceTester.class, e.getSource()); } }
@SuppressWarnings("unused") @ExampleDerivedFeature.Require({ ExampleDerivedFeature.DERIVED_FEATURE_1, ExampleDerivedFeature.DERIVED_FEATURE_3 }) public void testRequiringAllThreeDerivedFeatures() { doNotActuallyRunThis(); }
@SuppressWarnings("unused") @ExampleBaseFeature.Require(absent = {ExampleBaseFeature.BASE_FEATURE_1}) public void testRequiringConflictingFeatures() throws Exception { doNotActuallyRunThis(); } }
@MapFeature.Require(absent = SUPPORTS_PUT) @CollectionSize.Require(absent = ZERO) public void testPutIfAbsent_unsupportedPresentExistingValue() { try { assertEquals( "putIfAbsent(present, existingValue) should return present or throw", v0(), putIfAbsent(e0())); } catch (UnsupportedOperationException tolerated) { } expectUnchanged(); }
public void testFeatureEnums() throws Exception { assertGoodFeatureEnum(CollectionFeature.class); assertGoodFeatureEnum(ListFeature.class); assertGoodFeatureEnum(SetFeature.class); assertGoodFeatureEnum(CollectionSize.class); assertGoodFeatureEnum(MapFeature.class); }
@SuppressWarnings("unused") @ExampleDerivedFeature.Require({ ExampleDerivedFeature.DERIVED_FEATURE_1, ExampleDerivedFeature.DERIVED_FEATURE_2 }) public void testRequiringTwoExplicitDerivedFeatures() throws Exception { doNotActuallyRunThis(); }