DefaultSelector

case class DefaultSelector(commandLineArguments: Arguments) extends Selector

Default selection for specification fragments:

  • filter based on the name
  • filter based on the tags
  • filter based on previous execution
trait Serializable
trait Product
trait Equals
trait Selector
class Object
trait Matchable
class Any

Value members

Concrete methods

def filterByMarker(specArguments: Arguments): Fragment => Fragment

filter fragments by markers

filter fragments by markers

This method is a bit involved but we have to consider lots of different cases

  • if the marker is a tag or a section
  • if the marker applies to the previous or next fragment
  • if there is an irrelevant empty text between the marker and the fragment it applies to
def filterByName(specArguments: Arguments): Fragment => Fragment

filter fragments by name

filter fragments by name

def filterByPrevious(specArguments: Arguments): Fragment => Fragment

filter fragments by previous execution and required status

filter fragments by previous execution and required status

def isEndTag(sections: List[NamedTag], tag: NamedTag): Boolean
def select(specArguments: Arguments): Fragment => Fragment

select fragments by name, markers and previous execution

select fragments by name, markers and previous execution

All the "appliesToNext = false" markers must be transformed into "appliesToNext = true" except when they are the end of a section.

All the "appliesToNext = false" markers must be transformed into "appliesToNext = true" except when they are the end of a section.

This is because we want to visually include all of e2, e3, e4 in the following acceptance spec

e1 e2 ${section("x")} e3 e4 ${section("x")} e5

def updateSections(sections: List[NamedTag], tag: NamedTag): List[NamedTag]

Inherited methods

def productElementNames: Iterator[String]
Inherited from
Product
def productIterator: Iterator[Any]
Inherited from
Product

Concrete fields