Added more tests
This commit is contained in:
parent
b20a79080f
commit
f870a5f1f8
5 changed files with 73 additions and 30 deletions
|
@ -118,6 +118,28 @@ func TestEachLeaf(t *testing.T) {
|
|||
assert.Equal(t, err.Error(), "error")
|
||||
}
|
||||
|
||||
func TestEachParameter(t *testing.T) {
|
||||
src := []byte("1+2,3*4,5*6,7+8")
|
||||
tokens := token.Tokenize(src)
|
||||
parameters := []string{}
|
||||
|
||||
err := expression.EachParameter(tokens, func(parameter token.List) error {
|
||||
expr := expression.Parse(parameter)
|
||||
parameters = append(parameters, expr.String())
|
||||
return nil
|
||||
})
|
||||
|
||||
assert.Nil(t, err)
|
||||
assert.DeepEqual(t, parameters, []string{"(+ 1 2)", "(* 3 4)", "(* 5 6)", "(+ 7 8)"})
|
||||
|
||||
err = expression.EachParameter(tokens, func(parameter token.List) error {
|
||||
return fmt.Errorf("error")
|
||||
})
|
||||
|
||||
assert.NotNil(t, err)
|
||||
assert.Equal(t, err.Error(), "error")
|
||||
}
|
||||
|
||||
func TestRemoveChild(t *testing.T) {
|
||||
src := []byte("(1+2-3*4)+(5*6-7+8)")
|
||||
tokens := token.Tokenize(src)
|
||||
|
@ -141,3 +163,17 @@ func TestNilGroup(t *testing.T) {
|
|||
expr := expression.Parse(tokens)
|
||||
assert.Nil(t, expr)
|
||||
}
|
||||
|
||||
func TestInvalidOperator(t *testing.T) {
|
||||
src := []byte("a +++ 2")
|
||||
tokens := token.Tokenize(src)
|
||||
expr := expression.Parse(tokens)
|
||||
assert.Equal(t, expr.String(), "(+++ a 2)")
|
||||
}
|
||||
|
||||
func TestInvalidOperatorCall(t *testing.T) {
|
||||
src := []byte("+++()")
|
||||
tokens := token.Tokenize(src)
|
||||
expr := expression.Parse(tokens)
|
||||
assert.NotNil(t, expr)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue