Skip to content

Add test rework design spec#511

Closed
mmschlk wants to merge 15 commits intomainfrom
claude/rework-tests-QNyYo
Closed

Add test rework design spec#511
mmschlk wants to merge 15 commits intomainfrom
claude/rework-tests-QNyYo

Conversation

@mmschlk
Copy link
Copy Markdown
Owner

@mmschlk mmschlk commented Apr 15, 2026

Protocol-driven test suite replacing 75 files with 8, targeting ~1min
default runtime. Covers approximator/explainer/tree/imputer protocols,
tiering strategy, fixture design, and migration approach.

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

mmschlk and others added 13 commits April 15, 2026 12:09
Protocol-driven test suite replacing 75 files with 8, targeting ~1min
default runtime. Covers approximator/explainer/tree/imputer protocols,
tiering strategy, fixture design, and migration approach.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
10 tasks covering: pytest config, conftest, approximator/explainer/tree/
imputer/interaction_values/game_theory/plot/public_api tests, old test
deletion, and final verification.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Track shared Claude Code settings (settings.json, agents, commands)
while keeping local settings and worktrees gitignored.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replaces the per-module test files under tests_unit/, tests_integration_tests/,
and tests_deprecation/ with the 8 protocol-driven files added in previous commits.
Shared fixture plugins under tests/shapiq/fixtures/ are preserved because legacy
tests in tests/shapiq_games still consume them.

The new suite runs in ~25s and makes adding new components trivial: append a
config dict to the relevant registry.
@mmschlk mmschlk marked this pull request as draft April 15, 2026 11:41
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Adds a parametrized protocol test for SVR, SVC, and GaussianProcessRegressor
models, checking that explain() returns an InteractionValues object, that
sum(values) matches the regression prediction, and that explain_X handles
batches.

Also adds validation tests for the three documented error paths:
max_order > 1, unsupported model type, and multiclass SVC.

Lifts overall coverage from 60% to 62% and brings explainer/product_kernel/
from 0% to ~85% (game.py remains uncovered as it's a separate Game subclass
not exercised by the explainer path).
@mmschlk
Copy link
Copy Markdown
Owner Author

mmschlk commented Apr 16, 2026

Consolidating into #512, which is a strict superset of this PR (contains every commit here plus two follow-ups: coverage-gap closure and the SOUM/ExactComputer cross-check pipeline). Closing this one.


Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

2 participants