diff options
| author | Paul Buetow <paul@buetow.org> | 2026-05-24 18:50:00 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-05-24 18:50:00 +0300 |
| commit | dc89fa2bbcdea7c8847828f64be5e46ddded33fb (patch) | |
| tree | 67dd57478d39d9e75ccfcb576f5651bf53896379 /internal/repl | |
| parent | 4188db97bcb771c1c8790ddbac2db3f9ee8884c3 (diff) | |
fix(rpn): change variadic NewRPN/NewOperations to single optional MetricReader (task ok)
Diffstat (limited to 'internal/repl')
| -rw-r--r-- | internal/repl/concurrent_test.go | 10 | ||||
| -rw-r--r-- | internal/repl/repl.go | 2 | ||||
| -rw-r--r-- | internal/repl/repl_test.go | 24 | ||||
| -rw-r--r-- | internal/repl/rpnstate_test.go | 10 |
4 files changed, 23 insertions, 23 deletions
diff --git a/internal/repl/concurrent_test.go b/internal/repl/concurrent_test.go index 501b363..62bf7dc 100644 --- a/internal/repl/concurrent_test.go +++ b/internal/repl/concurrent_test.go @@ -15,7 +15,7 @@ func TestConcurrentExecutor(t *testing.T) { go func(id int) { defer wg.Done() vars := rpn.NewVariables() - rpnCalc := rpn.NewRPN(vars) + rpnCalc := rpn.NewRPN(vars, nil) rpl := &REPL{ ttyChecker: &TTYChecker{}, historyMgr: NewHistoryManager(".gt_history"), @@ -37,7 +37,7 @@ func TestConcurrentRPN(t *testing.T) { go func(id int) { defer wg.Done() vars := rpn.NewVariables() - rpnCalc := rpn.NewRPN(vars) + rpnCalc := rpn.NewRPN(vars, nil) _, _ = rpnCalc.ParseAndEvaluate("3 4 +") }(i) } @@ -52,7 +52,7 @@ func TestConcurrentRatModeToggle(t *testing.T) { go func(id int) { defer wg.Done() vars := rpn.NewVariables() - rpnCalc := rpn.NewRPN(vars) + rpnCalc := rpn.NewRPN(vars, nil) rpl := &REPL{ ttyChecker: &TTYChecker{}, historyMgr: NewHistoryManager(".gt_history"), @@ -74,7 +74,7 @@ func TestConcurrentExecutorAndRPN(t *testing.T) { go func(id int) { defer wg.Done() vars := rpn.NewVariables() - rpnCalc := rpn.NewRPN(vars) + rpnCalc := rpn.NewRPN(vars, nil) rpl := &REPL{ ttyChecker: &TTYChecker{}, historyMgr: NewHistoryManager(".gt_history"), @@ -87,7 +87,7 @@ func TestConcurrentExecutorAndRPN(t *testing.T) { go func(id int) { defer wg.Done() vars := rpn.NewVariables() - rpnCalc := rpn.NewRPN(vars) + rpnCalc := rpn.NewRPN(vars, nil) _, _ = rpnCalc.ParseAndEvaluate("3 4 +") }(i) } diff --git a/internal/repl/repl.go b/internal/repl/repl.go index 2ecd9ea..451b6c3 100644 --- a/internal/repl/repl.go +++ b/internal/repl/repl.go @@ -179,7 +179,7 @@ func NewREPL(executor func(string), completer func() []string, logWriter io.Writ fmt.Printf("Warning: Could not load saved variables: %v\n", err) } - rpnCalc := rpn.NewRPN(vars) + rpnCalc := rpn.NewRPN(vars, nil) rpnState := NewRPNState(vars, rpnCalc) repl := &REPL{ diff --git a/internal/repl/repl_test.go b/internal/repl/repl_test.go index f8e22a2..a7fd2f8 100644 --- a/internal/repl/repl_test.go +++ b/internal/repl/repl_test.go @@ -18,7 +18,7 @@ func createTestREPL() *REPL { historyMgr: NewHistoryManager(".gt_history"), signalHandler: NewSignalHandler(), commandChain: NewCommandChain(), - rpnState: &RPNState{vars: vars, rpnCalc: rpn.NewRPN(vars)}, + rpnState: &RPNState{vars: vars, rpnCalc: rpn.NewRPN(vars, nil)}, } } @@ -186,7 +186,7 @@ func TestRunRPN(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { vars := rpn.NewVariables() - rpnCalc := rpn.NewRPN(vars) + rpnCalc := rpn.NewRPN(vars, nil) input := strings.TrimSpace(tt.input) if strings.HasPrefix(input, "rpn ") { @@ -408,7 +408,7 @@ func TestExecutorWithCalcPrefixMixed(t *testing.T) { // TestExecutorWithRatModeOn tests that rat on works with fresh REPL func TestExecutorWithRatModeOn(t *testing.T) { vars := rpn.NewVariables() - rpnCalc := rpn.NewRPN(vars) + rpnCalc := rpn.NewRPN(vars, nil) rpl := &REPL{ ttyChecker: &TTYChecker{}, historyMgr: NewHistoryManager(".gt_history"), @@ -425,7 +425,7 @@ func TestExecutorWithRatModeOn(t *testing.T) { // TestExecutorWithRatModeOff tests that rat off works with fresh REPL func TestExecutorWithRatModeOff(t *testing.T) { vars := rpn.NewVariables() - rpnCalc := rpn.NewRPN(vars) + rpnCalc := rpn.NewRPN(vars, nil) rpl := &REPL{ ttyChecker: &TTYChecker{}, historyMgr: NewHistoryManager(".gt_history"), @@ -442,7 +442,7 @@ func TestExecutorWithRatModeOff(t *testing.T) { // TestExecutorWithRatModeToggle tests that rat toggle works with fresh REPL func TestExecutorWithRatModeToggle(t *testing.T) { vars := rpn.NewVariables() - rpnCalc := rpn.NewRPN(vars) + rpnCalc := rpn.NewRPN(vars, nil) rpl := &REPL{ ttyChecker: &TTYChecker{}, historyMgr: NewHistoryManager(".gt_history"), @@ -487,7 +487,7 @@ func TestIsBuiltinCommandWithSubcommandHelp(t *testing.T) { // TestExecutorWithAssignmentRight tests := and =: operators func TestExecutorWithAssignmentRight(t *testing.T) { vars := rpn.NewVariables() - rpnCalc := rpn.NewRPN(vars) + rpnCalc := rpn.NewRPN(vars, nil) rpl := &REPL{ ttyChecker: &TTYChecker{}, historyMgr: NewHistoryManager(".gt_history"), @@ -520,7 +520,7 @@ func TestExecutorWithAssignmentRight(t *testing.T) { // TestExecutorWithAssignmentAfterCalculation tests assignment after a calculation func TestExecutorWithAssignmentAfterCalculation(t *testing.T) { vars := rpn.NewVariables() - rpnCalc := rpn.NewRPN(vars) + rpnCalc := rpn.NewRPN(vars, nil) rpl := &REPL{ ttyChecker: &TTYChecker{}, historyMgr: NewHistoryManager(".gt_history"), @@ -543,7 +543,7 @@ func TestExecutorWithAssignmentAfterCalculation(t *testing.T) { // TestExecutorWithIncrementalAssignment tests that assignment works after a calculation with separate commands func TestExecutorWithIncrementalAssignment(t *testing.T) { vars := rpn.NewVariables() - rpnCalc := rpn.NewRPN(vars) + rpnCalc := rpn.NewRPN(vars, nil) rpl := &REPL{ ttyChecker: &TTYChecker{}, historyMgr: NewHistoryManager(".gt_history"), @@ -570,7 +570,7 @@ func TestExecutorWithIncrementalAssignment(t *testing.T) { // TestExecutorWithSimpleIncrementalAssignment tests x =: after 2 in REPL func TestExecutorWithSimpleIncrementalAssignment(t *testing.T) { vars := rpn.NewVariables() - rpnCalc := rpn.NewRPN(vars) + rpnCalc := rpn.NewRPN(vars, nil) rpl := &REPL{ ttyChecker: &TTYChecker{}, historyMgr: NewHistoryManager(".gt_history"), @@ -596,7 +596,7 @@ func TestExecutorWithSimpleIncrementalAssignment(t *testing.T) { // TestExecutorWithExactUserScenario tests the exact user scenario: 2 then x =: func TestExecutorWithExactUserScenario(t *testing.T) { vars := rpn.NewVariables() - rpnCalc := rpn.NewRPN(vars) + rpnCalc := rpn.NewRPN(vars, nil) rpl := &REPL{ ttyChecker: &TTYChecker{}, historyMgr: NewHistoryManager(".gt_history"), @@ -628,7 +628,7 @@ func TestExecutorWithExactUserScenario(t *testing.T) { // TestExecutorWithExactUserScenarioWithOutput tests that x =: assigns and shows result func TestExecutorWithExactUserScenarioWithOutput(t *testing.T) { vars := rpn.NewVariables() - rpnCalc := rpn.NewRPN(vars) + rpnCalc := rpn.NewRPN(vars, nil) rpl := &REPL{ ttyChecker: &TTYChecker{}, historyMgr: NewHistoryManager(".gt_history"), @@ -660,7 +660,7 @@ func TestExecutorWithExactUserScenarioWithOutput(t *testing.T) { // TestExecutorWithExactUserScenarioDirect simulates REPL input flow func TestExecutorWithExactUserScenarioDirect(t *testing.T) { vars := rpn.NewVariables() - rpnCalc := rpn.NewRPN(vars) + rpnCalc := rpn.NewRPN(vars, nil) rpl := &REPL{ ttyChecker: &TTYChecker{}, historyMgr: NewHistoryManager(".gt_history"), diff --git a/internal/repl/rpnstate_test.go b/internal/repl/rpnstate_test.go index 1d54dea..80c7f65 100644 --- a/internal/repl/rpnstate_test.go +++ b/internal/repl/rpnstate_test.go @@ -14,7 +14,7 @@ import ( func TestNewRPNState(t *testing.T) { vars := rpn.NewVariables() - rpnCalc := rpn.NewRPN(vars) + rpnCalc := rpn.NewRPN(vars, nil) state := NewRPNState(vars, rpnCalc) if state == nil { t.Fatal("NewRPNState() returned nil") @@ -25,7 +25,7 @@ func TestRPNStateLoadVariablesEmpty(t *testing.T) { // When varStoreFile is empty, LoadVariables should return nil state := &RPNState{ vars: rpn.NewVariables(), - rpnCalc: rpn.NewRPN(rpn.NewVariables()), + rpnCalc: rpn.NewRPN(rpn.NewVariables(), nil), varStoreFile: "", } err := state.LoadVariables() @@ -37,7 +37,7 @@ func TestRPNStateLoadVariablesEmpty(t *testing.T) { func TestRPNStateSaveVariablesEmpty(t *testing.T) { state := &RPNState{ vars: rpn.NewVariables(), - rpnCalc: rpn.NewRPN(rpn.NewVariables()), + rpnCalc: rpn.NewRPN(rpn.NewVariables(), nil), varStoreFile: "", } err := state.SaveVariables() @@ -70,7 +70,7 @@ func TestRPNStateSaveLoadRoundTrip(t *testing.T) { vars.SetVariable("x", 42.0) vars.SetVariable("y", 3.14) - rpnCalc := rpn.NewRPN(vars) + rpnCalc := rpn.NewRPN(vars, nil) state := &RPNState{ vars: vars, rpnCalc: rpnCalc, @@ -91,7 +91,7 @@ func TestRPNStateSaveLoadRoundTrip(t *testing.T) { newVars := rpn.NewVariables() newState := &RPNState{ vars: newVars, - rpnCalc: rpn.NewRPN(newVars), + rpnCalc: rpn.NewRPN(newVars, nil), varStoreFile: varStorePath, } |
