From d02c4ff623141704489f41088ca861e75a632b87 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sat, 23 May 2026 20:17:01 +0300 Subject: refactor: remove Calculator/RPNCalculator passthrough adapter (KISS) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Delete internal/repl/calculator.go which defined the Calculator interface and RPNCalculator adapter. Every method delegated directly to *rpn.RPN with zero transformation — unnecessary indirection. RPNState now holds *rpn.RPN directly instead of the Calculator interface. Updated NewRPNState, NewREPL, handleRatCommand, and RPNHandler.Handle() to access *rpn.RPN directly. Removes 71 net lines, zero behavioral changes. --- internal/repl/concurrent_test.go | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'internal/repl/concurrent_test.go') diff --git a/internal/repl/concurrent_test.go b/internal/repl/concurrent_test.go index d4065ff..501b363 100644 --- a/internal/repl/concurrent_test.go +++ b/internal/repl/concurrent_test.go @@ -16,13 +16,12 @@ func TestConcurrentExecutor(t *testing.T) { defer wg.Done() vars := rpn.NewVariables() rpnCalc := rpn.NewRPN(vars) - calculator := NewRPNCalculator(rpnCalc) rpl := &REPL{ ttyChecker: &TTYChecker{}, historyMgr: NewHistoryManager(".gt_history"), signalHandler: NewSignalHandler(), commandChain: NewCommandChain(), - rpnState: &RPNState{vars: vars, calculator: calculator}, + rpnState: &RPNState{vars: vars, rpnCalc: rpnCalc}, } defaultExecutor(rpl, "20% of 150") }(i) @@ -54,13 +53,12 @@ func TestConcurrentRatModeToggle(t *testing.T) { defer wg.Done() vars := rpn.NewVariables() rpnCalc := rpn.NewRPN(vars) - calculator := NewRPNCalculator(rpnCalc) rpl := &REPL{ ttyChecker: &TTYChecker{}, historyMgr: NewHistoryManager(".gt_history"), signalHandler: NewSignalHandler(), commandChain: NewCommandChain(), - rpnState: &RPNState{vars: vars, calculator: calculator}, + rpnState: &RPNState{vars: vars, rpnCalc: rpnCalc}, } defaultExecutor(rpl, "rat toggle") }(i) @@ -77,13 +75,12 @@ func TestConcurrentExecutorAndRPN(t *testing.T) { defer wg.Done() vars := rpn.NewVariables() rpnCalc := rpn.NewRPN(vars) - calculator := NewRPNCalculator(rpnCalc) rpl := &REPL{ ttyChecker: &TTYChecker{}, historyMgr: NewHistoryManager(".gt_history"), signalHandler: NewSignalHandler(), commandChain: NewCommandChain(), - rpnState: &RPNState{vars: vars, calculator: calculator}, + rpnState: &RPNState{vars: vars, rpnCalc: rpnCalc}, } defaultExecutor(rpl, "20% of 150") }(i) -- cgit v1.2.3