Domain Modeling · interview question
If you wrote a test around invariants in __post_init__, what should the test prove first?
Multiple choiceMediumchapter-7-curatedpremiumdomain-modelinginvariants-in-post-init
from dataclasses import dataclass
@dataclass
class OrderLine:
sku: str
quantity: int
def __post_init__(self) -> None:
if self.quantity <= 0:
raise ValueError("quantity must be positive")Answer and explanation
Correct answer
B. That the rule behaves correctly at the boundary cases the lesson is trying to make explicit.
Why
Good tests make the design safer to change because they lock in the meaningful behavior rather than surface-level implementation details.
Test yourself on Domain Modeling
A free test with instant, explained results. No account needed.
More Domain Modeling questions
- What does a strong engineer do when reasoning through properties and encapsulation code?
- If mini domain model fails in production, what handling philosophy is strongest?
- Which judgment is strongest when choosing a data shape for invariants in __post_init__?
- Which explanation would sound strongest in an interview when discussing instance methods?
- Which option is the safer default when shipping code around invariants in __post_init__?
- A senior interviewer asks for one tradeoff behind instance methods. What is the strongest follow-up?