Files
2026-05-24 12:36:44 +08:00

38 lines
940 B
Python

from __future__ import annotations
from dataclasses import dataclass, field
from typing import Optional
@dataclass
class SparkConfig:
num_records: int = 100
replication: str = "key_varied"
key_field: str = ""
edge_cases: list[str] = field(default_factory=list)
@dataclass
class TestCase:
id: str
fields: dict = field(default_factory=dict)
coverage_targets: list[str] = field(default_factory=list)
@dataclass
class TestSuite:
schema: Optional[dict] = None
test_cases: list[TestCase] = field(default_factory=list)
spark_config: Optional[SparkConfig] = None
@property
def has_spark(self) -> bool:
return self.spark_config is not None
_tc = TestCase(id="TC-001", fields={"BR-AMT": 1500000})
assert _tc.id == "TC-001"
assert _tc.fields["BR-AMT"] == 1500000
_ts = TestSuite(test_cases=[_tc], spark_config=SparkConfig(num_records=1000))
assert _ts.spark_config.num_records == 1000