classChoiceDomain
final class ChoiceDomain
implements ValueDomain
Declares alternative constructive spelling domains, such as quoted and prefixed binary values.
Methods§
public function __construct(ValueDomain $first, ValueDomain ...$others)Requires at least one complete domain rather than a finite sample of an unknown set.
Parameters
$first | ValueDomain | |
$others | ValueDomain |
Test cases 2
Calls 1
- function-call
array_valuesline 25
public function choose(Closure(positive-int): int $choose): stringParameters
$choose | Closure(positive-int): int |
Returns
stringTest cases 1
ChoiceDomainTest::testChooseReachesEachDeclaredFormcovers and calls
Calls 1
- function-call
countline 34
public function match(string $value, int $offset = 0): list<int>Parameters
$value | string | |
$offset | int |
Returns
list<int>Test cases 1
Private surface 1§
Implementation details, listed for orientation only.
private non-empty-list<ValueDomain> $domainsTest cases 23§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 2
ChoiceDomainTest::testChooseReachesEachDeclaredFormcovers and callsChoiceDomainTest::testMatchUnionsAndDeduplicatesAlternativeEndPositionscovers and calls
Other tests reaching this symbol 21
LexicalExceptionTestcallsCharacterDomainTestcallsIntegerDomainTestcallsSequenceDomainTestcallsValueChoicesTestcallsValueDomainTest::testChooseUsesTheSameContractForLeavesAndCompositescallsGenerationContextTestcallsCharsetLexemeGeneratorTestcallsCharsetValueLexemeGeneratorTestcallsDefinitionFactoryTestcallsLexicalGrammarTestcallsMySqlProviderTestcallsGenerationContextTestcallsDefinitionFactoryTestcallsLexicalGrammarTestcallsPostgreSqlProviderTestcallsSqlGeneratorFactoryTestcallsGenerationContextTestcallsDefinitionFactoryTestcallsLexicalGrammarTestcallsSqliteProviderTestcalls
Relations§
Instantiated in 20
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1469
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1499
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1505
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:563
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:623
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:655
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:778
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:779
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:803
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:809
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:214
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:242
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:270
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:298
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:326
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:354
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:389
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:390
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:414
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:420