generator
CombinationGenerator(*discrete_domains)
Bases: TestcaseGenerator
A generator that produces tests based on combination of ranges.
This generator creates a test case for each combination of the provided value ranges. Each value range must be associated with exactly one input feature of the model that shall be tested.
Initialize the combination generator.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
discrete_domains
|
Discrete
|
A list of discrete domains to generate test cases from. Each domain must be associated with exactly one input feature of the model that shall be tested. |
()
|
Source code in src/flowcean/core/tool/testing/generator/combination_generator.py
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
|
reset()
Reset the generator to the initial state.
Source code in src/flowcean/core/tool/testing/generator/combination_generator.py
68 69 70 71 72 73 74 75 |
|
TestcaseGenerator()
Bases: IncrementalEnvironment
A generator that produces test cases for a model.
Source code in src/flowcean/core/environment/incremental.py
25 26 27 |
|
reset()
abstractmethod
Reset the generator to its initial state.
Source code in src/flowcean/core/tool/testing/generator/generator.py
12 13 14 |
|
save_csv(path, *, test_case_count=None, separator=',')
Save the generated test cases to a CSV file.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
path
|
str | Path
|
The path where the CSV file should be saved. If the path does not have a suffix, '.csv' will be added. |
required |
test_case_count
|
int | None
|
The number of test cases to save. If None, all available test cases will be saved. If the number of test cases is not defined, a ValueError will be raised. |
None
|
separator
|
str
|
The value separator to use in the CSV file. Defaults to ','. |
','
|
Source code in src/flowcean/core/tool/testing/generator/generator.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
|
save_excel(path, *, test_case_count=None, worksheet_name='Test Cases')
Save the generated test cases to an Excel file.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
path
|
str | Path
|
The path where the Excel file should be saved. If the path does not have a suffix, '.xlsx' will be added. |
required |
test_case_count
|
int | None
|
The number of test cases to save. If None, all available test cases will be saved. If the number of test cases is not defined, a ValueError will be raised. |
None
|
worksheet_name
|
str
|
The name of the worksheet in the Excel file. Defaults to 'Test Cases'. |
'Test Cases'
|
Source code in src/flowcean/core/tool/testing/generator/generator.py
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
|
__collect_to_df(n)
Collect the first n test cases and return them as a DataFrame.
Source code in src/flowcean/core/tool/testing/generator/generator.py
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
|
StochasticGenerator(domains, *, test_case_count=None, seed=0)
Bases: TestcaseGenerator
A generator that produces random tests based on given domains.
Initialize the stochastic generator.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
domains
|
list[Domain]
|
A list of domains to generate random values for. Each domain must be associated with exactly one input feature of the model that shall be tested. |
required |
test_case_count
|
int | None
|
The number of test cases to generate. If None, the generator will run indefinitely. |
None
|
seed
|
int
|
The seed for the random number generator. The default is 0, which means a random seed will be used. |
0
|
Source code in src/flowcean/core/tool/testing/generator/stochastic_generator.py
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
|
reset()
Reset the generator to its initial state.
Source code in src/flowcean/core/tool/testing/generator/stochastic_generator.py
71 72 73 74 |
|