From ea9f1d27608f0fc1f0279f4d95e94deb30097abd Mon Sep 17 00:00:00 2001 From: Steve Yegge Date: Thu, 25 Dec 2025 17:55:42 -0800 Subject: [PATCH] Add edge case tests for expression evaluator (code review) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Test cases for: - Unary minus in expression: 3*-2 -> -6 - Parenthesized negative: (-5) -> -5 - Unary minus after power: 2^-1 -> 0 (truncated) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- internal/formula/range_test.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/internal/formula/range_test.go b/internal/formula/range_test.go index 2d43151a..56fcb94c 100644 --- a/internal/formula/range_test.go +++ b/internal/formula/range_test.go @@ -91,6 +91,21 @@ func TestEvaluateExpr(t *testing.T) { expr: "1-10", want: -9, }, + { + name: "unary minus in expression", + expr: "3*-2", + want: -6, + }, + { + name: "parenthesized negative", + expr: "(-5)", + want: -5, + }, + { + name: "unary minus after power", + expr: "2^-1", + want: 0, // 0.5 truncated to int + }, { name: "division by zero", expr: "10/0",