MCPcopy Create free account
hub / github.com/expr-lang/expr / TestDeref_binary

Function TestDeref_binary

test/deref/deref_test.go:14–46  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

12)
13
14func TestDeref_binary(t *testing.T) {
15 i := 1
16 env := map[string]any{
17 "i": &i,
18 "obj": map[string]any{
19 "i": &i,
20 },
21 }
22 t.Run("==", func(t *testing.T) {
23 program, err := expr.Compile(`i == 1 && obj.i == 1`, expr.Env(env))
24 require.NoError(t, err)
25
26 out, err := expr.Run(program, env)
27 require.NoError(t, err)
28 require.Equal(t, true, out)
29 })
30 t.Run("><", func(t *testing.T) {
31 program, err := expr.Compile(`i > 0 && obj.i < 99`, expr.Env(env))
32 require.NoError(t, err)
33
34 out, err := expr.Run(program, env)
35 require.NoError(t, err)
36 require.Equal(t, true, out)
37 })
38 t.Run("??+", func(t *testing.T) {
39 program, err := expr.Compile(`(i ?? obj.i) + 1`, expr.Env(env))
40 require.NoError(t, err)
41
42 out, err := expr.Run(program, env)
43 require.NoError(t, err)
44 require.Equal(t, 2, out)
45 })
46}
47
48func TestDeref_unary(t *testing.T) {
49 i := 1

Callers

nothing calls this directly

Calls 6

CompileFunction · 0.92
EnvStruct · 0.92
NoErrorFunction · 0.92
RunFunction · 0.92
EqualFunction · 0.92
RunMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…