classConditionOrder
final class ConditionOrder
Accepts the condition clauses of one statement in EARS order.
The order is an optional feature (Where) at most once, then preconditions (While), then at most one trigger (When or If). The trigger decides how the system clause must begin.
Methods§
public function accept(string $clause): voidAccepts the next condition clause.
Parameters
$clause | string | The clause text before the system response |
Throws
InvalidInputException When the clause lacks a keyword or text, is out of order, or contains shall or thenTest cases 5
ConditionOrderTest::testAcceptRejectsClausesOutOfOrdercallsConditionOrderTest::testAcceptRejectsMalformedClausescallsConditionOrderTest::testAcceptRejectsShallOrThenInConditionscallsConditionOrderTest::testAcceptTakesClausesInOrdercallsConditionOrderTest::testTriggerIsKeptAfterPrecedingClausescalls
Called from 1
Calls 5
- function-call
preg_matchline 30 - function-call
trimline 30 - static-call Wording::hasContent() line 30
- new InvalidInputException line 31
- function-call
strtolowerline 33
public function trigger(): string|nullReturns the trigger keyword accepted so far.
Returns
string|null "when" or "if", or null without a triggerTest cases 3
Called from 1
Private surface 2§
Implementation details, listed for orientation only.
private int $rank = 0private ?string $trigger = nullTest cases 22§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 6
ConditionOrderTest::testAcceptRejectsClausesOutOfOrdercallsConditionOrderTest::testAcceptRejectsMalformedClausescallsConditionOrderTest::testAcceptRejectsShallOrThenInConditionscallsConditionOrderTest::testAcceptTakesClausesInOrdercallsConditionOrderTest::testTriggerIsKeptAfterPrecedingClausescallsConditionOrderTest::testTriggerIsNullBeforeAnyClausecalls
Other tests reaching this symbol 16
DefinitionReaderTestcallsLoaderTestcallsReferenceTestcallsMarkdownDocumentTestcallsApplicationTestcallsCommandHandlerTestcallsCommandLineTestcallsExecutorTestcallsFormatterTestcallsValidatorTestcallsItemTestcallsItemValidatorTestcallsAnalyzerTestcallsCoverageTestcallsSnapshotTestcallsVerifierTestcalls