Repository navigation
Any test payload, the answer as a test, Greek aliases, and a multiple choice check - #96
Merged
Merged
Conversation
- Test.payload takes any type, as NUMBER tests in real exports store numbers. - Each response area's answer is written as a passing test, first, unless the answer is empty or a passing test already has it. - InputSymbol.greek builds the aliases of a Greek symbol from its unicode forms, with and without braces around a subscript. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- An empty-list answer is no answer, so it is written as a failing test. - A set with a multiple choice that marks no option correct raises ValueError before export, ahead of the output directory being cleared, naming the question and part. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The converter called a MultipleChoice-specific check and so had to import that type. Each ResponseArea now declares payload_types, the types a test payload may take, and a _validate method that subclasses extend; the converter calls _validate on every area without naming any type. Number refuses bool payloads, and MultipleChoice refuses an answer or test whose length differs from its options. An empty answer now adds no test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JnCY3kcqP1vQ7UixMtuRep
peterbjohnson
force-pushed
the
response-area-helpers
branch
from
November 8, 2026 05:31
a04943d to
eed843e
Compare
Member
Author
|
Note the PR was updated to generalise the response types for all RAs, not just MCQ. Following that it was judged acceptable. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Test.payloadwas typedstr, so beartype rejected numbers. NUMBER tests in real exports store JSON numbers (seefixtures/exports/introduction_to_lambda_feedback/question_000_Numeric_Questions.json).Test(2.5, True)now exports"payload": 2.5.Noneor""adds no test. An empty list counts as no answer, so it is written as a failing test.InputSymbol.greek(symbol, code, extra=()). It builds aliases from the unicode forms of a Greek letter name, with and without braces around a subscript. No alias joins the base and the subscript without_, becausesigmafcould be read as two symbols. An unknown name raisesValueError.ValueError, naming the question and part. The check runs beforemainclears the output directory, so an earlier export survives.🤖 Generated with Claude Code