Class Requirement

java.lang.Object
net.thucydides.core.requirements.model.Requirement
All Implemented Interfaces:
java.lang.Comparable

public class Requirement
extends java.lang.Object
implements java.lang.Comparable
A requirement represents a high-level business goal that will appear in the result summary report. This report summarizes the state of the application in terms of what /** have been implemented. Capabilities are implemented via features, which in turn are tested by scenarios.
  • Constructor Details

    • Requirement

      public Requirement()
    • Requirement

      protected Requirement​(java.lang.String name, java.lang.String id, java.lang.String displayName, java.lang.String cardNumber, java.lang.String parent, java.lang.String type, CustomFieldValue narrative, java.util.List<Requirement> children, java.util.List<Example> examples, java.util.List<java.lang.String> releaseVersions)
    • Requirement

      protected Requirement​(java.lang.String name, java.lang.String id, java.lang.String displayName, java.lang.String cardNumber, java.lang.String parent, java.lang.String type, CustomFieldValue narrative)
    • Requirement

      protected Requirement​(java.lang.String name, java.lang.String id, java.lang.String displayName, java.lang.String cardNumber, java.lang.String parent, java.lang.String type, java.lang.String path, CustomFieldValue narrative, java.util.List<Requirement> children, java.util.List<Example> examples, java.util.List<java.lang.String> releaseVersions, java.util.List<CustomFieldValue> customFields, java.lang.String featureFileName)
    • Requirement

      protected Requirement​(java.lang.String name, java.lang.String id, java.lang.String displayName, java.lang.String cardNumber, java.lang.String parent, java.lang.String type, java.lang.String path, CustomFieldValue narrative, java.util.List<Requirement> children, java.util.List<Example> examples, java.util.List<java.lang.String> releaseVersions, java.util.List<CustomFieldValue> customFields, java.lang.String featureFileName, java.util.List<TestTag> tags, java.util.Map<java.lang.String,​java.util.Collection<TestTag>> scenarioTags, boolean containsNoScenarios, FeatureBackgroundNarrative background)
    • Requirement

      protected Requirement​(java.lang.String name, java.lang.String id, java.lang.String displayName, java.lang.String cardNumber, java.lang.String parent, java.lang.String type, java.lang.String path, CustomFieldValue narrative, java.util.List<Requirement> children, java.util.List<Example> examples, java.util.List<java.lang.String> releaseVersions, java.util.List<CustomFieldValue> customFields)
  • Method Details

    • withNoScenarios

      public Requirement withNoScenarios()
    • getName

      public java.lang.String getName()
    • getId

      public java.lang.String getId()
    • getDisplayName

      public java.lang.String getDisplayName()
    • getType

      public java.lang.String getType()
    • childType

      public java.lang.String childType()
    • getNarrative

      public CustomFieldValue getNarrative()
    • getReleaseVersions

      public java.util.List<java.lang.String> getReleaseVersions()
    • getChildrenCount

      public int getChildrenCount()
    • getParent

      public java.lang.String getParent()
    • getChildren

      public java.util.List<Requirement> getChildren()
    • getChildrenAsStream

      public java.util.stream.Stream<Requirement> getChildrenAsStream()
    • hasChild

      public boolean hasChild​(Requirement child)
    • getExamples

      public java.util.List<Example> getExamples()
    • hasExamples

      public java.lang.Boolean hasExamples()
    • getExampleCount

      public int getExampleCount()
    • getCardNumber

      public java.lang.String getCardNumber()
    • compareTo

      public int compareTo​(java.lang.Object otherRequirement)
      Specified by:
      compareTo in interface java.lang.Comparable
    • named

      public static RequirementBuilderNameStep named​(java.lang.String name)
    • definedInFile

      public Requirement definedInFile​(java.io.File featureFile)
    • withChildren

      public Requirement withChildren​(java.util.List<Requirement> children)
    • setChildren

      public void setChildren​(java.util.List<Requirement> children)
    • withParent

      public Requirement withParent​(java.lang.String parent)
    • withType

      public Requirement withType​(java.lang.String type)
    • withDisplayName

      public Requirement withDisplayName​(java.lang.String displayName)
    • withFeatureFileyName

      public Requirement withFeatureFileyName​(java.lang.String featureFileName)
    • withExample

      public Requirement withExample​(Example example)
    • withExamples

      public Requirement withExamples​(java.util.List<Example> examples)
    • withReleaseVersions

      public Requirement withReleaseVersions​(java.util.List<java.lang.String> releaseVersions)
    • withCustomFields

      public Requirement withCustomFields​(java.util.List<CustomFieldValue> customFields)
    • withPath

      public Requirement withPath​(java.lang.String path)
    • hasChildren

      public boolean hasChildren()
    • getNestedChildren

      public java.util.List<Requirement> getNestedChildren()
    • getTags

      public java.util.List<TestTag> getTags()
    • getScenarioTags

      public java.util.Map<java.lang.String,​java.util.Collection<TestTag>> getScenarioTags()
    • asTag

      public TestTag asTag()
    • asUnqualifiedTag

      public TestTag asUnqualifiedTag()
    • equals

      public boolean equals​(java.lang.Object o)
      Overrides:
      equals in class java.lang.Object
    • matches

      public boolean matches​(Requirement that)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class java.lang.Object
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object
    • withChild

      public Requirement withChild​(Requirement child)
    • withCustomField

      public Requirement.CustomFieldSetter withCustomField​(java.lang.String fieldName)
    • getCustomFieldValues

      public java.util.List<CustomFieldValue> getCustomFieldValues()
    • getCustomField

      public java.util.Optional<CustomFieldValue> getCustomField​(java.lang.String fieldName)
    • getCustomFields

      public java.util.List<java.lang.String> getCustomFields()
    • getFeatureFileName

      public java.lang.String getFeatureFileName()
    • qualifiedName

      public java.lang.String qualifiedName()
    • qualifier

      public java.lang.String qualifier()
    • matchesTag

      public boolean matchesTag​(TestTag testTag)
    • merge

      public Requirement merge​(Requirement newRequirement)
    • withNarrative

      public Requirement withNarrative​(java.lang.String narrativeText)
    • getPath

      public java.lang.String getPath()
    • withTags

      public Requirement withTags​(java.util.List<TestTag> tags)
    • withScenarioTags

      public Requirement withScenarioTags​(java.util.Map<java.lang.String,​java.util.Collection<TestTag>> scenarioTags)
    • hasTag

      public boolean hasTag​(TestTag tag)
    • containsNoScenarios

      public boolean containsNoScenarios()
    • withBackground

      public Requirement withBackground​(FeatureBackgroundNarrative background)
    • getBackground

      public FeatureBackgroundNarrative getBackground()
    • getOrder

      public java.lang.String getOrder()
    • stream

      public java.util.stream.Stream<Requirement> stream()
    • tagsOfType

      public java.util.Collection<TestTag> tagsOfType​(java.util.List<java.lang.String> tagTypes)