public RequirementsOutcomes buildRequirementsOutcomesFrom(TestOutcomes testOutcomes) { List<Requirement> allRequirements = Lists.newArrayList(); for(RequirementsTagProvider tagProvider : requirementsTagProviders) { allRequirements.addAll(tagProvider.getRequirements()); } return new RequirementsOutcomes(allRequirements, testOutcomes, issueTracking, environmentVariables, requirementsTagProviders); }
public RequirementsOutcomes buildRequirementsOutcomesFrom(Requirement parentRequirement, TestOutcomes testOutcomes) { List<Requirement> childRequirements = parentRequirement.getChildren(); return new RequirementsOutcomes(parentRequirement, childRequirements, testOutcomes, issueTracking, environmentVariables, requirementsTagProviders, reportNameProvider, ""); }
public RequirementsOutcomes buildRequirementsOutcomesFrom(Requirement parentRequirement, TestOutcomes testOutcomes) { List<Requirement> childRequirements = parentRequirement.getChildren(); return new RequirementsOutcomes(parentRequirement, childRequirements, testOutcomes, issueTracking, environmentVariables, requirementsTagProviders); }
public RequirementsOutcomes buildRequirementsOutcomesFrom(Requirement parentRequirement, TestOutcomes testOutcomes) { List<Requirement> childRequirements = parentRequirement.getChildren(); return new RequirementsOutcomes(parentRequirement, childRequirements, testOutcomes, issueTracking, environmentVariables, requirementsTagProviders); }
public RequirementsOutcomes withoutUnrelatedRequirements() { if (isEmpty(ThucydidesSystemProperty.THUCYDIDES_EXCLUDE_UNRELATED_REQUIREMENTS_OF_TYPE.from(environmentVariables))) { return this; } return new RequirementsOutcomes( reportNameProvider, pruned(requirementOutcomes), testOutcomes, parentRequirement, environmentVariables, issueTracking, requirementsTagProviders, releaseManager, overview); }
public RequirementsOutcomes buildRequirementsOutcomesFrom(TestOutcomes testOutcomes) { List<Requirement> allRequirements = Lists.newArrayList(); for(RequirementsTagProvider tagProvider : requirementsTagProviders) { System.out.println("Merging requirements = " + tagProvider.getRequirements()); allRequirements = new RequirementsMerger().merge(allRequirements, tagProvider.getRequirements()); } System.out.println("Merged requirements set = " + allRequirements); return new RequirementsOutcomes(allRequirements, testOutcomes, issueTracking, environmentVariables, requirementsTagProviders); }
public RequirementsOutcomes buildRequirementsOutcomesFrom(TestOutcomes testOutcomes) { List<Requirement> allRequirements = tagProvider.getRequirements(); LOGGER.debug("Loaded requirements from file system = " + allRequirements); return new RequirementsOutcomes(allRequirements, testOutcomes, issueTracking, environmentVariables, NewList.<RequirementsTagProvider>of(tagProvider), reportNameProvider, tagProvider.getOverview().orElse("")); }
public RequirementsOutcomes buildRequirementsOutcomesFrom(TestOutcomes testOutcomes) { List<Requirement> allRequirements = new ArrayList<>(); LOGGER.info("Loading requirements from tag providers :" + requirementsTagProviders); for (RequirementsTagProvider tagProvider : requirementsTagProviders) { allRequirements = new RequirementsMerger().merge(allRequirements, RequirementsProvided.by(tagProvider)); } Optional<String> overview = requirementsTagProviders.stream() .map(RequirementsTagProvider::getOverview) .filter(Optional::isPresent) .map(overviewText -> overviewText.get()) .findFirst(); LOGGER.debug("Merged requirements set:{}{}", System.lineSeparator(), RequirementTree.withRequirements(allRequirements)); return new RequirementsOutcomes(allRequirements, testOutcomes, issueTracking, environmentVariables, requirementsTagProviders, reportNameProvider, overview.orElse("")); }
public RequirementsOutcomes buildRequirementsOutcomesFrom(Requirement parentRequirement, TestOutcomes testOutcomes) { List<Requirement> childRequirements = parentRequirement.getChildren(); return new RequirementsOutcomes(parentRequirement, childRequirements, testOutcomes, issueTracking, environmentVariables, NewList.of(tagProvider), reportNameProvider, ""); } }
public RequirementsOutcomes requirementsOfType(String type) { List<Requirement> matchingRequirements = Lists.newArrayList(); List<TestOutcome> matchingTests = Lists.newArrayList(); for(RequirementOutcome requirementOutcome : getFlattenedRequirementOutcomes()) { if (requirementOutcome.getRequirement().getType().equalsIgnoreCase(type)) { matchingRequirements.add(requirementOutcome.getRequirement()); matchingTests.addAll(requirementOutcome.getTestOutcomes().getOutcomes()); } } return new RequirementsOutcomes(matchingRequirements, TestOutcomes.of(matchingTests), issueTracking, environmentVariables, requirementsTagProviders); }
public RequirementsOutcomes requirementsOfType(String type) { List<Requirement> matchingRequirements = Lists.newArrayList(); List<TestOutcome> matchingTests = Lists.newArrayList(); for(RequirementOutcome requirementOutcome : getFlattenedRequirementOutcomes()) { if (requirementOutcome.getRequirement().getType().equalsIgnoreCase(type)) { matchingRequirements.add(requirementOutcome.getRequirement()); matchingTests.addAll(requirementOutcome.getTestOutcomes().getOutcomes()); } } return new RequirementsOutcomes(matchingRequirements, TestOutcomes.of(matchingTests), issueTracking, environmentVariables, requirementsTagProviders); }
public RequirementsOutcomes ofType(String type) { List<Requirement> matchingRequirements = new ArrayList<>(); List<TestOutcome> matchingTests = new ArrayList<>(); getFlattenedRequirementOutcomes().stream() .filter(requirementOutcome -> requirementOutcome.getRequirement().getType().equalsIgnoreCase(type)) .forEach( requirementOutcome -> { matchingRequirements.add(requirementOutcome.getRequirement()); matchingTests.addAll(requirementOutcome.getTestOutcomes().getOutcomes()); } ); return new RequirementsOutcomes(matchingRequirements, TestOutcomes.of(matchingTests), issueTracking, environmentVariables, requirementsTagProviders, reportNameProvider, overview).withoutUnrelatedRequirements(); }
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); }
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); }