diff --git a/t_list_test.go b/t_list_test.go index 74c26e2..06710a0 100644 --- a/t_list_test.go +++ b/t_list_test.go @@ -6,19 +6,12 @@ package expr import ( "errors" - "strings" "testing" ) func TestListParser(t *testing.T) { section := "List" - /* type inputType struct { - source string - wantResult any - wantErr error - } - */ inputs := []inputType{ /* 1 */ {`[]`, newListA(), nil}, /* 2 */ {`[1,2,3]`, newListA(int64(1), int64(2), int64(3)), nil}, @@ -64,74 +57,4 @@ func TestListParser(t *testing.T) { // parserTestSpec(t, section, inputs, 17) parserTest(t, section, inputs) - return - succeeded := 0 - failed := 0 - - // inputs1 := []inputType{ - // /* 7 */ {`add([1,4,3,2])`, int64(10), nil}, - // } - - for i, input := range inputs { - var expr *ast - var gotResult any - var gotErr error - - ctx := NewSimpleStore() - ImportMathFuncs(ctx) - parser := NewParser(ctx) - - logTest(t, i+1, "List", input.source, input.wantResult, input.wantErr) - - r := strings.NewReader(input.source) - scanner := NewScanner(r, DefaultTranslations()) - - good := true - if expr, gotErr = parser.Parse(scanner); gotErr == nil { - gotResult, gotErr = expr.Eval(ctx) - } - - if (gotResult == nil && input.wantResult != nil) || (gotResult != nil && input.wantResult == nil) { - t.Errorf("%d: %q -> result = %v [%T], want %v [%T]", i+1, input.source, gotResult, gotResult, input.wantResult, input.wantResult) - good = false - } - - if gotList, okGot := gotResult.([]any); okGot { - if wantList, okWant := input.wantResult.([]any); okWant { - if (gotList == nil && wantList != nil) || (gotList != nil && wantList == nil) { - t.Errorf("%d: %q -> result = %v [%T], want %v [%T]", i+1, input.source, gotResult, gotResult, input.wantResult, input.wantResult) - good = false - } else { - equal := len(gotList) == len(wantList) - if equal { - for i, gotItem := range gotList { - wantItem := wantList[i] - equal = gotItem == wantItem - if !equal { - break - } - } - } - if !equal { - t.Errorf("%d: %q -> result = %v [%T], want %v [%T]", i+1, input.source, gotResult, gotResult, input.wantResult, input.wantResult) - good = false - } - } - } - } - - if gotErr != input.wantErr { - if input.wantErr == nil || gotErr == nil || (gotErr.Error() != input.wantErr.Error()) { - t.Errorf("%d: %q -> err = <%v>, want <%v>", i+1, input.source, gotErr, input.wantErr) - good = false - } - } - - if good { - succeeded++ - } else { - failed++ - } - } - t.Logf("%s -- test count: %d, succeeded: %d, failed: %d", section, len(inputs), succeeded, failed) }