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

Function TestFunctionMergeWrongName

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

Source from the content-addressed store, hash-verified

441}
442
443func TestFunctionMergeWrongName(t *testing.T) {
444 sizeFunc, err := NewFunction("size",
445 MemberOverload("list_size",
446 []*types.Type{types.NewListType(types.NewTypeParamType("T"))}, types.IntType),
447 )
448 if err != nil {
449 t.Fatalf("NewFunction() failed: %v", err)
450 }
451 sizeVecFunc, err := NewFunction("sizeN",
452 MemberOverload("vector_size",
453 []*types.Type{types.NewOpaqueType("vector", types.NewTypeParamType("T"))}, types.IntType),
454 )
455 if err != nil {
456 t.Fatalf("NewFunction() failed: %v", err)
457 }
458 _, err = sizeFunc.Merge(sizeVecFunc)
459 if err == nil || !strings.Contains(err.Error(), "unrelated functions") {
460 t.Fatalf("Merge() expected to fail, got: %v", err)
461 }
462}
463
464func TestFunctionMergeOverloadCollision(t *testing.T) {
465 sizeFunc, err := NewFunction("size",

Callers

nothing calls this directly

Calls 8

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

Tested by

no test coverage detected