(t *testing.T)
| 92 | } |
| 93 | |
| 94 | func TestOptimize_in_array(t *testing.T) { |
| 95 | config := conf.New(map[string]int{"v": 0}) |
| 96 | |
| 97 | tree, err := parser.Parse(`v in [1,2,3]`) |
| 98 | require.NoError(t, err) |
| 99 | |
| 100 | _, err = checker.Check(tree, config) |
| 101 | require.NoError(t, err) |
| 102 | |
| 103 | err = optimizer.Optimize(&tree.Node, nil) |
| 104 | require.NoError(t, err) |
| 105 | |
| 106 | expected := &ast.BinaryNode{ |
| 107 | Operator: "in", |
| 108 | Left: &ast.IdentifierNode{Value: "v"}, |
| 109 | Right: &ast.ConstantNode{Value: map[int]struct{}{1: {}, 2: {}, 3: {}}}, |
| 110 | } |
| 111 | |
| 112 | assert.Equal(t, ast.Dump(expected), ast.Dump(tree.Node)) |
| 113 | } |
| 114 | |
| 115 | func TestOptimize_in_range(t *testing.T) { |
| 116 | tree, err := parser.Parse(`age in 18..31`) |
nothing calls this directly
no test coverage detected
searching dependent graphs…