summaryrefslogtreecommitdiff
path: root/calc_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'calc_test.go')
-rw-r--r--calc_test.go26
1 files changed, 18 insertions, 8 deletions
diff --git a/calc_test.go b/calc_test.go
index d526b34..4c32983 100644
--- a/calc_test.go
+++ b/calc_test.go
@@ -2452,17 +2452,27 @@ func TestCalcWithDefinedName(t *testing.T) {
}
func TestCalcArithmeticOperations(t *testing.T) {
+ opdStack := NewStack()
+ for _, test := range [][]string{{"1", "text", "FALSE"}, {"text", "1", "TRUE"}} {
+ assert.NoError(t, calcL(test[0], test[1], opdStack))
+ assert.Equal(t, test[2], opdStack.Peek().(efp.Token).TValue)
+ opdStack.Empty()
+ assert.NoError(t, calcLe(test[0], test[1], opdStack))
+ assert.Equal(t, test[2], opdStack.Peek().(efp.Token).TValue)
+ opdStack.Empty()
+ }
+ for _, test := range [][]string{{"1", "text", "TRUE"}, {"text", "1", "FALSE"}} {
+ assert.NoError(t, calcG(test[0], test[1], opdStack))
+ assert.Equal(t, test[2], opdStack.Peek().(efp.Token).TValue)
+ opdStack.Empty()
+ assert.NoError(t, calcGe(test[0], test[1], opdStack))
+ assert.Equal(t, test[2], opdStack.Peek().(efp.Token).TValue)
+ opdStack.Empty()
+ }
+
err := `strconv.ParseFloat: parsing "text": invalid syntax`
assert.EqualError(t, calcPow("1", "text", nil), err)
assert.EqualError(t, calcPow("text", "1", nil), err)
- assert.EqualError(t, calcL("1", "text", nil), err)
- assert.EqualError(t, calcL("text", "1", nil), err)
- assert.EqualError(t, calcLe("1", "text", nil), err)
- assert.EqualError(t, calcLe("text", "1", nil), err)
- assert.EqualError(t, calcG("1", "text", nil), err)
- assert.EqualError(t, calcG("text", "1", nil), err)
- assert.EqualError(t, calcGe("1", "text", nil), err)
- assert.EqualError(t, calcGe("text", "1", nil), err)
assert.EqualError(t, calcAdd("1", "text", nil), err)
assert.EqualError(t, calcAdd("text", "1", nil), err)
assert.EqualError(t, calcAdd("1", "text", nil), err)