import { TestcaseDefinitionInterface, TestcaseDirectivesInterface, FilterInterface, MetaTable, MetaTestcase } from '../model/index.js'; import { MetaRowColumn } from './Meta.js'; import { LoggerInterface } from '../logger/index.js'; import { TableMatrix } from './TableMatrix.js'; /** * Options for initializing a TestcaseDefinitionMatrix. */ export interface TestcaseDefinitionMatrixOptions { /** The row number from which this test case originates. */ rowNumber: number; /** The column number from which this test case originates. */ columnNumber: number; /** Meta information for the row. */ rowMeta: MetaRowColumn; /** Meta information for the column. */ columnMeta: MetaRowColumn; /** The meta information of the table. */ tableMeta: MetaTable; /** * The data for this test case. * In a decision table, a test case is typically represented by a column. * All the data in that column is stored by an identifier, which corresponds to a value in a row. */ data?: string | number; /** Logger instance for logging purposes. */ logger: LoggerInterface; /** Indicates whether this test case should be executed or treated as a reference. */ execute?: boolean; /** A back reference to the matrix table containing this test case. */ table: TableMatrix; } /** * Represents a test case in a matrix table. * * In a matrix table, a test case corresponds to a single cell identified by its row and column. * The class implements the TestcaseDefinitionInterface. */ export declare class TestcaseDefinitionMatrix implements TestcaseDefinitionInterface { /** * The data for this test case. * For a decision table, a test case is represented as a column, where the data is stored * by an identifier corresponding to a value in the row. */ data?: string | number; /** Logger instance for this test case model. */ logger: LoggerInterface; /** The row number from which this test case originates. */ rowNumber: number; /** The column number from which this test case originates. */ columnNumber: number; /** Meta information for the row. */ rowMeta: MetaRowColumn; /** Meta information for the column. */ columnMeta: MetaRowColumn; /** A reference to the table (matrix) that contains this test case. */ table: TableMatrix; /** The meta information of the table. */ tableMeta: MetaTable; /** Unique identifier for this test case. */ id: string; /** Number of instances to generate for this test case (default is 1). */ multiplicity: number; /** Flag indicating that this test case should never be executed (default is false). */ neverExecute: boolean; constructor(opts: TestcaseDefinitionMatrixOptions); createTags(): string[]; createFilter(): FilterInterface[]; createGeneratorSwitches(): string[]; get testcaseName(): string; get testcaseMeta(): MetaTestcase; getFieldName(name: string): string; get execute(): boolean; /** * Creates all directives for this test case definition. * * The directives are generated based on the meta data of both the row and column. * Depending on the generator command found in the meta data, the method creates * generator, reference, or static directives. * * @returns An object containing arrays of directives, grouped by type. */ createDirectives(): TestcaseDirectivesInterface; private createGeneratorDirective; private createReferenceDirective; private createStaticValueDirective; } //# sourceMappingURL=TestcaseDefinitionMatrix.d.ts.map