public boolean matchesTag(TestTag testTag) { TestTag requirementTag = asTag(); return requirementTag.isAsOrMoreSpecificThan(testTag); }
public boolean matchesTag(TestTag testTag) { TestTag requirementTag = asTag(); return requirementTag.isAsOrMoreSpecificThan(testTag); }
public TestOutcomes forRequirement(Requirement requirement) { return withTag(requirement.asTag()); }
@Override public Set<TestTag> getTagsFor(TestOutcome testOutcome) { Set<TestTag> result = new HashSet<>(); for (Requirement requirement : getAllRequirements()) { if (isMatchingRequirementFor(testOutcome, requirement)) { result.add(requirement.asTag()); } } return result; }
public List<TestTag> getRequirementBreadcrumbsFrom(RequirementsOutcomes requirementsOutcomes) { List<TestTag> breadcrumbs = new ArrayList<>(); if (requirementsOutcomes.getParentRequirement().isPresent()) { breadcrumbs.add(requirementsOutcomes.getParentRequirement().get().asTag()); } return breadcrumbs; }
private Collection<TestTag> parentRequirementsOf(TestTag requirementTag) { List<TestTag> matchingTags = new ArrayList<>(); java.util.Optional<Requirement> matchingRequirement = getMatchingRequirementFor(requirementTag); java.util.Optional<Requirement> parent = parentRequirementsOf(matchingRequirement.get()); while (parent.isPresent()) { matchingTags.add(parent.get().asTag()); parent = parentRequirementsOf(parent.get()); } return matchingTags; }
private java.util.Optional<Requirement> getMatchingRequirementFor(TestTag storyOrFeatureTag) { return AllRequirements.in(getRequirements()).stream() .filter( requirement -> requirement.asTag().isAsOrMoreSpecificThan(storyOrFeatureTag) ) .findFirst(); }
public TestOutcomes withRequirementsTags() { for (TestOutcome outcome : outcomes) { List<TestTag> outcomeTags = new ArrayList<>(outcome.getTags()); List<Requirement> parentRequirements = requirementsService.getAncestorRequirementsFor(outcome); for(Requirement requirement : parentRequirements) { outcomeTags.add(requirement.asTag()); } outcome.addTags(outcomeTags); } return this; }
public TestOutcomes withRequirementsTags() { List<TestOutcome> testOutcomesWithRequirements = Lists.newArrayList(); for (TestOutcome outcome : outcomes) { Set<TestTag> outcomeTags = Sets.newHashSet(outcome.getTags()); List<Requirement> parentRequirements = requirementsService.getAncestorRequirementsFor(outcome); for(Requirement requirement : parentRequirements) { outcomeTags.add(requirement.asTag()); } testOutcomesWithRequirements.add(outcome.withTags(outcomeTags)); } return new TestOutcomes(testOutcomesWithRequirements, estimatedAverageStepCount, label, rootOutcomes.orNull(), environmentVariables); }
public List<TestTag> getRequirementBreadcrumbsFrom(TestTag tag) { List<TestTag> requirementTypeTags = new ArrayList<>(); java.util.Optional<Requirement> displayedRequirement = requirementsService.getRequirementFor(tag); return displayedRequirement.isPresent() ? NewList.of(displayedRequirement.get().asTag()) : NewList.<TestTag>of(); }
public TestOutcomes withRequirementsTags() { List<TestOutcome> testOutcomesWithRequirements = Lists.newArrayList(); for (TestOutcome outcome : outcomes) { Set<TestTag> outcomeTags = Sets.newHashSet(outcome.getTags()); List<Requirement> parentRequirements = requirementsService.getAncestorRequirementsFor(outcome); for(Requirement requirement : parentRequirements) { outcomeTags.add(requirement.asTag()); } testOutcomesWithRequirements.add(outcome.withTags(outcomeTags)); } return new TestOutcomes(testOutcomesWithRequirements, estimatedAverageStepCount, label, rootOutcomes.orNull(), environmentVariables); }
private List<TestTag> getMatchingCapabilities(List<Requirement> requirements, List<String> storyPathElements) { if (storyPathElements.isEmpty()) { return NO_TEST_TAGS; } else { java.util.Optional<Requirement> matchingRequirement = findMatchingRequirementIn(next(storyPathElements), requirements); if (matchingRequirement.isPresent()) { TestTag thisTag = matchingRequirement.get().asTag(); List<TestTag> remainingTags = getMatchingCapabilities(matchingRequirement.get().getChildren(), tail(storyPathElements)); return concat(thisTag, remainingTags); } else { return NO_TEST_TAGS; } } }
private int countRequirementsWithoutTestsIn(Requirement rootRequirement) { List<Requirement> flattenedRequirements = getFlattenedRequirements(rootRequirement); int requirementsWithoutTests = 0; for(Requirement requirement : flattenedRequirements) { TestOutcomes matchingOutcomes = testOutcomes.withTag(requirement.asTag()); if (matchingOutcomes.getTotal() == 0) { requirementsWithoutTests++; } } return requirementsWithoutTests; }
private List<TestTag> getMatchingCapabilities(List<Requirement> requirements, List<String> storyPathElements) { if (storyPathElements.isEmpty()) { return NO_TEST_TAGS; } else { Optional<Requirement> matchingRequirement = findMatchingRequirementIn(next(storyPathElements), requirements); if (matchingRequirement.isPresent()) { TestTag thisTag = matchingRequirement.get().asTag(); List<TestTag> remainingTags = getMatchingCapabilities(matchingRequirement.get().getChildren(), tail(storyPathElements)); return concat(thisTag, remainingTags); } else { return NO_TEST_TAGS; } } }
public java.util.Optional<Requirement> getTestCaseRequirementOf(TestOutcome testOutcome) { for (Requirement requirement : AllRequirements.in(getRequirements())) { if (requirement.asTag().isAsOrMoreSpecificThan(testOutcome.getUserStory().asTag())) { return java.util.Optional.of(requirement); } } return java.util.Optional.empty(); }
private int countRequirementsWithoutTestsIn(Requirement rootRequirement) { List<Requirement> flattenedRequirements = getFlattenedRequirements(rootRequirement); int requirementsWithoutTests = 0; for(Requirement requirement : flattenedRequirements) { TestOutcomes matchingOutcomes = testOutcomes.withTag(requirement.asTag()); if (matchingOutcomes.getTotal() == 0) { requirementsWithoutTests++; } } return requirementsWithoutTests; }
public boolean testsRequirement(Requirement requirement) { return requirement.equals(getRequirement()) || testOutcomes.containsTag(requirement.asTag()); }
@Override public java.util.Optional<Requirement> getRequirementFor(TestTag testTag) { for (Requirement requirement : AllRequirements.in(getRequirements())) { if (requirement.asTag().isAsOrMoreSpecificThan(testTag)) { return Optional.of(requirement); } } return uniqueRequirementWithName(testTag.getName()); }
private void generateRequirementsReportsForChildRequirements(RequirementsOutcomes requirementsOutcomes) throws IOException { List<RequirementOutcome> requirementOutcomes = requirementsOutcomes.getRequirementOutcomes(); for (RequirementOutcome outcome : requirementOutcomes) { Requirement requirement = outcome.getRequirement(); if (!reportTally.contains(requirement)) { TestOutcomes testOutcomesForThisRequirement = outcome.getTestOutcomes().withTag(requirement.asTag()); RequirementsOutcomes requirementOutcomesForThisRequirement = requirementsFactory.buildRequirementsOutcomesFrom(requirement, testOutcomesForThisRequirement); generateNestedRequirementsReportsFor(requirement, requirementOutcomesForThisRequirement); } } }
private void generateRequirementsReportsForChildRequirements(RequirementsOutcomes requirementsOutcomes) throws IOException { List<RequirementOutcome> requirementOutcomes = requirementsOutcomes.getRequirementOutcomes(); for (RequirementOutcome outcome : requirementOutcomes) { Requirement requirement = outcome.getRequirement(); if (!reportTally.contains(requirement)) { TestOutcomes testOutcomesForThisRequirement = outcome.getTestOutcomes().withTag(requirement.asTag()); RequirementsOutcomes requirementOutcomesForThisRequirement = requirementsFactory.buildRequirementsOutcomesFrom(requirement, testOutcomesForThisRequirement); generateNestedRequirementsReportsFor(requirement, requirementOutcomesForThisRequirement); } } }