Skip to content

Add protocol conformance tests for Simulator and Scorer#49

Merged
jc-macdonald merged 1 commit intomainfrom
test/issue-2-simulator-scorer-protocols
Apr 9, 2026
Merged

Add protocol conformance tests for Simulator and Scorer#49
jc-macdonald merged 1 commit intomainfrom
test/issue-2-simulator-scorer-protocols

Conversation

@jc-macdonald
Copy link
Copy Markdown
Contributor

Summary

Runtime-checkable protocol conformance tests for Simulator and Scorer, plus a toy end-to-end integration test.

Closes #2

Changes

Simulator protocol tests

  • Conforming class passes isinstance(obj, Simulator)
  • Non-conforming class (wrong method name) fails isinstance
  • generate() returns a 2-tuple
  • generate() propagates config values correctly

Scorer protocol tests

  • Conforming class passes isinstance(obj, Scorer)
  • Non-conforming class fails isinstance
  • score() returns a dict with expected keys
  • All score values are float

End-to-end

  • Toy Simulator → Scorer pipeline: generate, score, verify result

Config

  • Added ANN401, ARG002, PLR6301 to test per-file ignores (needed for protocol stub classes)

Stats

  • 9 new tests (35 total)
  • Coverage: 60.41% → 64.60%
  • just ci passes (format, lint, mypy strict, coverage)

Test runtime_checkable isinstance for conforming and non-conforming
classes, generate/score return types, config propagation, and an
end-to-end Simulator→Scorer integration test.

Relax ANN401, ARG002, PLR6301 for tests — needed for protocol stub
classes.

Closes #2
@jc-macdonald jc-macdonald merged commit 5340fd9 into main Apr 9, 2026
3 checks passed
@jc-macdonald jc-macdonald deleted the test/issue-2-simulator-scorer-protocols branch April 9, 2026 17:55
@jc-macdonald jc-macdonald added test Test coverage improvement protocols protocols.py module api Public API surface labels Apr 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api Public API surface protocols protocols.py module test Test coverage improvement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Unit tests for Simulator / Scorer protocol compliance

1 participant