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); } } }
public List<RequirementOutcome> getFlattenedRequirementOutcomes(List<RequirementOutcome> outcomes) { Set<RequirementOutcome> flattenedOutcomes = Sets.newHashSet(); for (RequirementOutcome requirementOutcome : outcomes) { flattenedOutcomes.add(requirementOutcome); for(Requirement requirement : requirementOutcome.getRequirement().getChildren()) { // TestTag requirementTag = TestTag.withName(requirement.getName()).andType(requirement.getType()); // TestOutcomes testOutcomesForRequirement = requirementOutcome.getTestOutcomes().withTag(requirementTag); TestOutcomes testOutcomesForRequirement = requirementOutcome.getTestOutcomes().withTag(requirement.asTag()); flattenedOutcomes.add(new RequirementOutcome(requirement, testOutcomesForRequirement, issueTracking)); List<Requirement> childRequirements = requirement.getChildren(); RequirementsOutcomes childOutcomes = new RequirementsOutcomes(childRequirements, testOutcomesForRequirement, issueTracking, environmentVariables, requirementsTagProviders); flattenedOutcomes.addAll(getFlattenedRequirementOutcomes(childOutcomes.getRequirementOutcomes())); } } return ImmutableList.copyOf(flattenedOutcomes); }
public List<RequirementOutcome> getFlattenedRequirementOutcomes(List<RequirementOutcome> outcomes) { Set<RequirementOutcome> flattenedOutcomes = Sets.newHashSet(); for (RequirementOutcome requirementOutcome : outcomes) { flattenedOutcomes.add(requirementOutcome); for(Requirement requirement : requirementOutcome.getRequirement().getChildren()) { // TestTag requirementTag = TestTag.withName(requirement.getName()).andType(requirement.getType()); // TestOutcomes testOutcomesForRequirement = requirementOutcome.getTestOutcomes().withTag(requirementTag); TestOutcomes testOutcomesForRequirement = requirementOutcome.getTestOutcomes().withTag(requirement.asTag()); flattenedOutcomes.add(new RequirementOutcome(requirement, testOutcomesForRequirement, issueTracking)); List<Requirement> childRequirements = requirement.getChildren(); RequirementsOutcomes childOutcomes = new RequirementsOutcomes(childRequirements, testOutcomesForRequirement, issueTracking, environmentVariables, requirementsTagProviders); flattenedOutcomes.addAll(getFlattenedRequirementOutcomes(childOutcomes.getRequirementOutcomes())); } } return ImmutableList.copyOf(flattenedOutcomes); }
public RequirementsOutcomes getReleasedRequirementsFor(Release release) { List<Requirement> matchingRequirements = Lists.newArrayList(); List<TestOutcome> matchingTestOutcomes = Lists.newArrayList(); // Add all test outcomes with a matching release List<RequirementOutcome> requirementOutcomes = releaseManager.enrichRequirementsOutcomesWithReleaseTags(getRequirementOutcomes()); for(RequirementOutcome outcome : requirementOutcomes) { Collection<String> releaseVersions = outcome.getReleaseVersions(); if (releaseVersions.contains(release.getName())) { List<TestOutcome> outcomesForRelease = outcomesForRelease(outcome.getTestOutcomes().getOutcomes(), release.getName()); if (!outcomesForRelease.isEmpty()) { matchingTestOutcomes.addAll(outcomesForRelease); matchingRequirements.add(outcome.getRequirement()); } } } matchingRequirements = removeRequirementsWithoutTestsFrom(matchingRequirements); return new RequirementsOutcomes(Lists.newArrayList(matchingRequirements), TestOutcomes.of(matchingTestOutcomes), issueTracking, environmentVariables, requirementsTagProviders); }
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); } } }
public RequirementsOutcomes getReleasedRequirementsFor(Release release) { Set<Requirement> matchingRequirements = new HashSet<>(); Set<TestOutcome> matchingTestOutcomes = new HashSet<>(); // Add all test outcomes with a matching release List<RequirementOutcome> requirementOutcomes = releaseManager.enrichRequirementsOutcomesWithReleaseTags(getRequirementOutcomes()); for (RequirementOutcome outcome : requirementOutcomes) { Collection<String> releaseVersions = outcome.getReleaseVersions(); if (releaseVersions.contains(release.getName())) { List<TestOutcome> outcomesForRelease = outcomesForRelease(outcome.getTestOutcomes().getOutcomes(), release.getName()); if (!outcomesForRelease.isEmpty()) { matchingTestOutcomes.addAll(outcomesForRelease); matchingRequirements.add(outcome.getRequirement()); } } } matchingRequirements = removeRequirementsWithoutTestsFrom(matchingRequirements); return new RequirementsOutcomes(new ArrayList<>(matchingRequirements), TestOutcomes.of(matchingTestOutcomes), issueTracking, environmentVariables, requirementsTagProviders, reportNameProvider, overview).withoutUnrelatedRequirements(); }
public RequirementsOutcomes getReleasedRequirementsFor(Release release) { List<Requirement> matchingRequirements = Lists.newArrayList(); List<TestOutcome> matchingTestOutcomes = Lists.newArrayList(); // Add all test outcomes with a matching release List<RequirementOutcome> requirementOutcomes = releaseManager.enrichRequirementsOutcomesWithReleaseTags(getRequirementOutcomes()); for(RequirementOutcome outcome : requirementOutcomes) { Collection<String> releaseVersions = outcome.getReleaseVersions(); if (releaseVersions.contains(release.getName())) { List<TestOutcome> outcomesForRelease = outcomesForRelease(outcome.getTestOutcomes().getOutcomes(), release.getName()); if (!outcomesForRelease.isEmpty()) { matchingTestOutcomes.addAll(outcomesForRelease); matchingRequirements.add(outcome.getRequirement()); } } } matchingRequirements = removeRequirementsWithoutTestsFrom(matchingRequirements); return new RequirementsOutcomes(Lists.newArrayList(matchingRequirements), TestOutcomes.of(matchingTestOutcomes), issueTracking, environmentVariables, requirementsTagProviders); }
public List<RequirementOutcome> getFlattenedRequirementOutcomes(List<RequirementOutcome> outcomes) { Set<RequirementOutcome> flattenedOutcomes = new HashSet(); for (RequirementOutcome requirementOutcome : outcomes) { flattenedOutcomes.add(requirementOutcome); for (Requirement requirement : requirementOutcome.getRequirement().getChildren()) { TestOutcomes testOutcomesForRequirement = requirementOutcome.getTestOutcomes().forRequirement(requirement); flattenedOutcomes.add(new RequirementOutcome(requirement, testOutcomesForRequirement, issueTracking)); List<Requirement> childRequirements = requirement.getChildren(); RequirementsOutcomes childOutcomes = new RequirementsOutcomes(childRequirements, testOutcomesForRequirement, issueTracking, environmentVariables, requirementsTagProviders, reportNameProvider, overview).withoutUnrelatedRequirements(); flattenedOutcomes.addAll(getFlattenedRequirementOutcomes(childOutcomes.getRequirementOutcomes())); } } return NewList.copyOf(flattenedOutcomes); }
context.put("releaseRequirementOutcomes", releaseRequirements.getRequirementOutcomes()); context.put("releaseTestOutcomes", testOutcomes.withTag(release.getReleaseTag()));
context.put("releaseRequirementOutcomes", releaseRequirements.getRequirementOutcomes()); context.put("releaseTestOutcomes", testOutcomes.withTag(release.getReleaseTag()));