MCPcopy Create free account
hub / github.com/cel-expr/cel-go / TestFunctionMergeOverloadArgCountRedefinition

Function TestFunctionMergeOverloadArgCountRedefinition

common/decls/decls_test.go:486–505  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

484}
485
486func TestFunctionMergeOverloadArgCountRedefinition(t *testing.T) {
487 sizeFunc, err := NewFunction("size",
488 MemberOverload("list_size",
489 []*types.Type{types.NewListType(types.NewTypeParamType("T"))}, types.IntType),
490 )
491 if err != nil {
492 t.Fatalf("NewFunction() failed: %v", err)
493 }
494 sizeVecFunc, err := NewFunction("size",
495 MemberOverload("list_size",
496 []*types.Type{types.NewListType(types.NewTypeParamType("T")), types.IntType}, types.IntType),
497 )
498 if err != nil {
499 t.Fatalf("NewFunction() failed: %v", err)
500 }
501 _, err = sizeFunc.Merge(sizeVecFunc)
502 if err == nil || !strings.Contains(err.Error(), "redefinition") {
503 t.Fatalf("Merge() expected to fail, got: %v", err)
504 }
505}
506
507func TestFunctionMergeOverloadArgTypeRedefinition(t *testing.T) {
508 sizeFunc, err := NewFunction("size",

Callers

nothing calls this directly

Calls 7

NewListTypeFunction · 0.92
NewTypeParamTypeFunction · 0.92
MergeMethod · 0.80
NewFunctionFunction · 0.70
MemberOverloadFunction · 0.70
ContainsMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected