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

Function TestAttributesConditionalAttrFalseBranch

interpreter/attributes_test.go:365–397  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

363}
364
365func TestAttributesConditionalAttrFalseBranch(t *testing.T) {
366 reg := newTestRegistry(t)
367 attrs := NewAttributeFactory(containers.DefaultContainer, reg, reg)
368 data := map[string]any{
369 "a": map[int]any{
370 -1: []int32{2, 42},
371 },
372 "b": map[string]any{
373 "c": map[int32]any{
374 -1: []uint{2, 42},
375 },
376 },
377 }
378 vars, _ := NewActivation(data)
379
380 // (false ? a : b.c)[-1][1]
381 tv := attrs.AbsoluteAttribute(2, "a")
382 fv := attrs.MaybeAttribute(3, "b")
383 qualC := makeQualifier(t, attrs, nil, 4, "c")
384 fv.AddQualifier(qualC)
385 cond := attrs.ConditionalAttribute(1, NewConstValue(0, types.False), tv, fv)
386 qualNeg1 := makeQualifier(t, attrs, nil, 5, int64(-1))
387 qual1 := makeQualifier(t, attrs, nil, 6, int64(1))
388 cond.AddQualifier(qualNeg1)
389 cond.AddQualifier(qual1)
390 out, err := cond.Resolve(vars)
391 if err != nil {
392 t.Fatal(err)
393 }
394 if out != uint(42) {
395 t.Errorf("Got %v (%T), wanted 42", out, out)
396 }
397}
398
399func TestAttributesNarrowMapKeyQualifier(t *testing.T) {
400 reg := newTestRegistry(t)

Callers

nothing calls this directly

Calls 10

AbsoluteAttributeMethod · 0.95
MaybeAttributeMethod · 0.95
ConditionalAttributeMethod · 0.95
NewAttributeFactoryFunction · 0.85
makeQualifierFunction · 0.85
NewConstValueFunction · 0.85
newTestRegistryFunction · 0.70
NewActivationFunction · 0.70
AddQualifierMethod · 0.65
ResolveMethod · 0.65

Tested by

no test coverage detected