### Question:
ArtifactInspector { @VisibleForTesting Requirements getPluginRequirements(Class<?> cls) { io.cdap.cdap.api.annotation.Requirements annotation = cls.getAnnotation(io.cdap.cdap.api.annotation.Requirements.class); if (annotation == null) { return Requirements.EMPTY; } return new Requirements(Arrays.stream(annotation.datasetTypes()).map(s -> s.trim().toLowerCase()) .filter(s -> !Strings.isNullOrEmpty(s)).collect(Collectors.toSet())); } ArtifactInspector(CConfiguration cConf, ArtifactClassLoaderFactory artifactClassLoaderFactory);   }### Answer:
@Test public void testGetPluginRequirements() { Assert.assertTrue(artifactInspector.getPluginRequirements(InspectionApp.AppPlugin.class).isEmpty()); Assert.assertEquals(new Requirements(ImmutableSet.of(Table.TYPE)), artifactInspector.getPluginRequirements(InspectionApp.SingleRequirementPlugin.class)); Assert.assertTrue(artifactInspector.getPluginRequirements(InspectionApp.EmptyRequirementPlugin.class).isEmpty()); Assert.assertEquals(new Requirements(ImmutableSet.of(Table.TYPE, KeyValueTable.TYPE)), artifactInspector.getPluginRequirements(InspectionApp.MultipleRequirementsPlugin.class)); Assert.assertTrue(artifactInspector .getPluginRequirements(InspectionApp.SingleEmptyRequirementPlugin.class).isEmpty()); Assert.assertEquals(new Requirements(ImmutableSet.of(Table.TYPE)), artifactInspector.getPluginRequirements(InspectionApp.ValidAndEmptyRequirementsPlugin.class)); Assert.assertEquals(new Requirements(ImmutableSet.of(Table.TYPE, "duplicate")), artifactInspector.getPluginRequirements(InspectionApp.DuplicateRequirementsPlugin.class)); }