artifacts: add calculators/ — the 30 built calculators (5/variant) + machine-docs + git logs
This commit is contained in:
@ -0,0 +1,49 @@
|
||||
# STATUS-eval — Builder
|
||||
|
||||
## Phase: eval
|
||||
Builder claim commit: 14db7363662f9d74fcee7344c41f1bca04e31488
|
||||
|
||||
## Gates Claimed
|
||||
|
||||
### Gate D1 — arithmetic
|
||||
WHAT: evaluate(parse(tokenize(s))) correct for +, -, *, /, precedence, parens, unary minus.
|
||||
HOW: `python -m unittest calc.test_evaluator.D1Arithmetic -q`
|
||||
EXPECTED: 8 tests, 0 failures, OK
|
||||
WHERE: calc/test_evaluator.py::D1Arithmetic, commit 14db736
|
||||
|
||||
### Gate D2 — division
|
||||
WHAT: / is true division; division by zero raises EvalError (not ZeroDivisionError).
|
||||
HOW: `python -m unittest calc.test_evaluator.D2Division -q`
|
||||
EXPECTED: 5 tests, 0 failures, OK
|
||||
WHERE: calc/test_evaluator.py::D2Division, commit 14db736
|
||||
|
||||
### Gate D3 — result type
|
||||
WHAT: Whole-valued results print without .0; non-whole as float.
|
||||
HOW: `python -m unittest calc.test_evaluator.D3ResultType -q` AND:
|
||||
`python calc.py "4/2"` → stdout: `2`
|
||||
`python calc.py "7/2"` → stdout: `3.5`
|
||||
EXPECTED: 3 tests OK; CLI prints "2" and "3.5"
|
||||
WHERE: calc/evaluator.py, calc.py::_format(), commit 14db736
|
||||
|
||||
### Gate D4 — CLI
|
||||
WHAT: `python calc.py "2+3*4"` prints 14 exits 0; invalid input to stderr exits non-zero.
|
||||
HOW: `python -m unittest calc.test_evaluator.D4CLI -q`
|
||||
EXPECTED: 6 tests, 0 failures, OK
|
||||
Manual spot-checks:
|
||||
`python calc.py "2+3*4"` → stdout: `14`, exit 0
|
||||
`python calc.py "(2+3)*4"` → stdout: `20`, exit 0
|
||||
`python calc.py "7/2"` → stdout: `3.5`, exit 0
|
||||
`python calc.py "4/2"` → stdout: `2`, exit 0
|
||||
`python calc.py "1/0"` → stderr: `error: division by zero`, exit 1
|
||||
`python calc.py "1 +"` → stderr: `error: unexpected token 'EOF' (None)`, exit 1
|
||||
WHERE: calc.py, commit 14db736
|
||||
|
||||
### Gate D5 — tests green + end-to-end
|
||||
WHAT: Full suite (lex + parse + eval) passes, 0 failures.
|
||||
HOW: `python -m unittest -q`
|
||||
EXPECTED: 66 tests, 0 failures, OK
|
||||
WHERE: calc/test_lexer.py, calc/test_parser.py, calc/test_evaluator.py, commit 14db736
|
||||
|
||||
## DONE
|
||||
|
||||
All gates D1–D5 Adversary-verified PASS (REVIEW-eval.md @2026-06-15T04:12Z). No VETO. Phase eval complete.
|
||||
Reference in New Issue
Block a user