org.cddcore.engine.ABuilderFactory2

ABuilder2

trait ABuilder2 extends ScenarioBuilder

Linear Supertypes
ABuilderFactory2.ScenarioBuilder, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ABuilder2
  2. ScenarioBuilder
  3. AnyRef
  4. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def builderData: ABuilderFactory2.ScenarioBuilderData

    Definition Classes
    ScenarioBuilder
  2. abstract def copy(builderData: ABuilderFactory2.ScenarioBuilderData): ABuilderFactory2.RealScenarioBuilder

    You should probably not call this explicitly.

    You should probably not call this explicitly. This makes a copy of the builder with new data. The builder is an immutable object, so this is how data is actually 'changed' when you call methods like description

    Definition Classes
    ScenarioBuilder
  3. abstract def thisAsBuilder: ABuilderFactory2.RealScenarioBuilder

    Attributes
    protected
    Definition Classes
    ScenarioBuilder

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def assertion(a: CodeHolder[(P1, P2, ROrException[R]) ⇒ Boolean], comment: String = ""): ABuilderFactory2.RealScenarioBuilder

    An assertion is an extra test to be run.

    An assertion is an extra test to be run. The assertions must be true for the scenario when the engine has been built. The function you pass in to it takes the parameters and the result of the engine, and returns a boolean

    Definition Classes
    ScenarioBuilder
  8. def because(b: CodeHolder[(P1, P2) ⇒ Boolean], comment: String = ""): ABuilderFactory2.RealScenarioBuilder

    Set the 'because' of the 'last thing to be mentioned' to be this value.

    Set the 'because' of the 'last thing to be mentioned' to be this value. i.e. the builder/usecase/scenario. Throws CannotDefineBecauseTwiceException if expected already set. If you haven't set a code, then this will also act as the code

    Definition Classes
    ScenarioBuilder
  9. def build: Engine2[P1, P2, FullR]

  10. def buildTarget: AnyRef

    Definition Classes
    ScenarioBuilder
  11. def childEngine(engineTitle: String, description: String = null): ABuilderFactory2.RealScenarioBuilder

    Definition Classes
    ScenarioBuilder
  12. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  13. def code(c: ABuilderFactory2.Code, comment: String = ""): ABuilderFactory2.RealScenarioBuilder

    This is optional, as it defaults to returning 'expected'.

    This is optional, as it defaults to returning 'expected'. The code is the code that you would use to generate the expected.

    The TennisScorer is a good example of where this is needed :

         scenario(2, 3).expected("thirty, forty").code((l: Int, r: Int) => s"${lookup(l)}, ${lookup(r)}").
    

    Although in this case 'thirty forty' is the expected, we want to calculate the value so that it can be generalised for other inputs

    Definition Classes
    ScenarioBuilder
  14. def configuration[K](cfg: (P1, P2) ⇒ Unit): ABuilderFactory2.RealScenarioBuilder

    This method is used if you are action on mutable parameters.

    This method is used if you are action on mutable parameters. The cgnFn is called to setup the parameters prior to them being used in the because clause

    The cfgFn is only used while building the engine. An example use would be when the parameter is a mutable object like a Swing JTextArea. The cfgFn would setup the textarea to have the correct values

    Definition Classes
    ScenarioBuilder
  15. def copy(depth: Int = builderData.depth, title: Option[String] = builderData.title, description: Option[String] = builderData.description, children: ReportableList = builderData.children, foldFn: Option[(FullR, R) ⇒ FullR] = builderData.folder, initialFoldValue: () ⇒ FullR = builderData.initialFoldValue, optCode: Option[ABuilderFactory2.Code] = builderData.optCode, expected: Option[ROrException[R]] = builderData.expected, priority: Option[Int] = builderData.priority, references: Set[Reference] = builderData.references, documents: List[Document] = builderData.documents, paramDetails: List[ParamDetail] = builderData.paramDetails): ABuilderFactory2.RealScenarioBuilder

    Attributes
    protected
    Definition Classes
    ScenarioBuilder
  16. def description(description: String): ABuilderFactory2.RealScenarioBuilder

    Set the description of the 'last thing to be mentioned' i.

    Set the description of the 'last thing to be mentioned' i.e. the builder/usecase/scenario. Throws CannotDefineDescriptionTwiceException if title already set. The description is used when creating reports

    Definition Classes
    ScenarioBuilder
  17. def document(documents: Document*): ABuilderFactory2.RealScenarioBuilder

    This adds the documents you specify to the documents that the builder 'knows about'.

    This adds the documents you specify to the documents that the builder 'knows about'. Currently the documents are only used by references.

    Definition Classes
    ScenarioBuilder
  18. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  19. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  20. def expectException[E <: Throwable](e: E, comment: String = ""): ABuilderFactory2.RealScenarioBuilder

    Set the 'expected' of the 'last thing to be mentioned' to be an exception.

    Set the 'expected' of the 'last thing to be mentioned' to be an exception. i.e. the builder/usecase/scenario. Throws CannotDefineExpectedTwiceException if expected already set. Note that the engine will currently only check the type of the message, not the message itself, and that you must have a 'code' to throw the exception

    Definition Classes
    ScenarioBuilder
  21. def expected(e: R): ABuilderFactory2.RealScenarioBuilder

    Set the 'expected' of the 'last thing to be mentioned' to be this value.

    Set the 'expected' of the 'last thing to be mentioned' to be this value. i.e. the builder/usecase/scenario. Throws CannotDefineExpectedTwiceException if expected already set. If you haven't set a code, then this will also act as the code

    Definition Classes
    ScenarioBuilder
  22. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  23. def findDocument(documentName: String): Document

    Attributes
    protected
    Definition Classes
    ScenarioBuilder
  24. def getBuildTarget(depth: Int, node: AnyRef): AnyRef

    Attributes
    protected
    Definition Classes
    ScenarioBuilder
  25. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  26. def getParent: Option[AnyRef]

    Attributes
    protected
    Definition Classes
    ScenarioBuilder
  27. def getParentAt(depth: Int, parent: AnyRef): AnyRef

    Attributes
    protected
    Definition Classes
    ScenarioBuilder
  28. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  29. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  30. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  31. def newScenario(scenarioTitle: String, scenarioDescription: String, params: List[Any]): ABuilderFactory2.RealScenarioBuilder

    Attributes
    protected
    Definition Classes
    ScenarioBuilder
  32. final def notify(): Unit

    Definition Classes
    AnyRef
  33. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  34. def param(parser: Function1[String, _], name: String = ..., testValue: String = null): ABuilderFactory2.RealScenarioBuilder

    This is only used when using the 'live' website option.

    This is only used when using the 'live' website option. It turns a string into a parameter, and gives the parameter a 'nice' name on the website

    Definition Classes
    ScenarioBuilder
  35. def priority(priority: Int): ABuilderFactory2.RealScenarioBuilder

    Set the 'priority' of the 'last thing to be mentioned' to be this value.

    Set the 'priority' of the 'last thing to be mentioned' to be this value. i.e. the builder/usecase/scenario. This determines the 'rule ordering' of the scenarios. If you don't like the produced decision tree, you can increase /decrease the priority of a scenario with the because clause you want to move

    Definition Classes
    ScenarioBuilder
  36. def reference(ref: String, document: Option[Document] = None): ABuilderFactory2.RealScenarioBuilder

    Adds a reference to the 'last thing to be mentioned'.

    Adds a reference to the 'last thing to be mentioned'. This is just the 'ref' string, without a document

    Definition Classes
    ScenarioBuilder
  37. def reference(ref: String, document: Document): ABuilderFactory2.RealScenarioBuilder

    Adds a reference to the 'last thing to be mentioned'.

    Adds a reference to the 'last thing to be mentioned'. References are currently just used in the reports.

    Definition Classes
    ScenarioBuilder
  38. def reference(ref: String, documentName: String): ABuilderFactory2.RealScenarioBuilder

    Adds a reference to the 'last thing to be mentioned'.

    Adds a reference to the 'last thing to be mentioned'. References are currently just used in the reports. If the documentName isn't in the list of doucments, this will throw a CannotFindDocumentException

    Definition Classes
    ScenarioBuilder
  39. def scenario(p1: P1, p2: P2, title: String = null, description: String = null): ABuilderFactory2.RealScenarioBuilder

  40. def set[X](x: X, bFn: (ABuilderFactory2.ScenarioBuilder, X) ⇒ ABuilderFactory2.ScenarioBuilder, ceFn: (ABuilderFactory2.ChildEngineDescription, X) ⇒ ABuilderFactory2.ChildEngineDescription, uFn: (ABuilderFactory2.UseCaseDescription, X) ⇒ ABuilderFactory2.UseCaseDescription, sFn: (ABuilderFactory2.Scenario, X) ⇒ ABuilderFactory2.Scenario, checkFn: (ABuilderFactory2.BuilderNode, X) ⇒ Unit = (b: BuilderNode, x: X) => {}): ABuilderFactory2.RealScenarioBuilder

    Attributes
    protected
    Definition Classes
    ScenarioBuilder
  41. def setWithDepth[Node, X](depth: Int, node: Node, x: X, bFn: (ABuilderFactory2.ScenarioBuilder, X) ⇒ ABuilderFactory2.ScenarioBuilder, ceFn: (ABuilderFactory2.ChildEngineDescription, X) ⇒ ABuilderFactory2.ChildEngineDescription, uFn: (ABuilderFactory2.UseCaseDescription, X) ⇒ ABuilderFactory2.UseCaseDescription, sFn: (ABuilderFactory2.Scenario, X) ⇒ ABuilderFactory2.Scenario, checkFn: (ABuilderFactory2.BuilderNode, X) ⇒ Unit = (b: BuilderNode, x: X) => {}): Node

    Attributes
    protected
    Definition Classes
    ScenarioBuilder
  42. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  43. def title(title: String): ABuilderFactory2.RealScenarioBuilder

    Set the title of the 'last thing to be mentioned' i.

    Set the title of the 'last thing to be mentioned' i.e. the builder/usecase/scenario. Throws CannotDefineTitleTwiceException if title already set. The title is used when creating reports

    Definition Classes
    ScenarioBuilder
  44. def toString(): String

    Definition Classes
    AnyRef → Any
  45. def useCase(useCaseTitle: String, useCaseDescription: String): ABuilderFactory2.RealScenarioBuilder

    Starts the definition of a new case.

    Starts the definition of a new case. A use case can be thought of as a list of scenarios

    Definition Classes
    ScenarioBuilder
  46. def useCase(useCaseTitle: String): ABuilderFactory2.RealScenarioBuilder

    Starts the definition of a new case.

    Starts the definition of a new case. A use case can be thought of as a list of scenarios

    Definition Classes
    ScenarioBuilder
  47. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  48. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  49. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  50. def withUseCase(useCaseTitle: String, useCaseDescription: Option[String]): ABuilderFactory2.RealScenarioBuilder

    Attributes
    protected
    Definition Classes
    ScenarioBuilder

Inherited from ABuilderFactory2.ScenarioBuilder

Inherited from AnyRef

Inherited from Any

Ungrouped