(t *testing.T)
| 9 | ) |
| 10 | |
| 11 | func TestMembership(t *testing.T) { |
| 12 | t.Parallel() |
| 13 | testCases := []struct { |
| 14 | Name string |
| 15 | Membership sqltypes.Node |
| 16 | ExpectedSQL string |
| 17 | ExpectedErrors int |
| 18 | }{ |
| 19 | { |
| 20 | Name: "StringArray", |
| 21 | Membership: sqltypes.MemberOf( |
| 22 | sqltypes.String("foo"), |
| 23 | must(sqltypes.Array("", |
| 24 | sqltypes.String("bar"), |
| 25 | sqltypes.String("buzz"), |
| 26 | )), |
| 27 | ), |
| 28 | ExpectedSQL: "'foo' = ANY(ARRAY ['bar','buzz'])", |
| 29 | }, |
| 30 | { |
| 31 | Name: "NumberArray", |
| 32 | Membership: sqltypes.MemberOf( |
| 33 | sqltypes.Number("", "5"), |
| 34 | must(sqltypes.Array("", |
| 35 | sqltypes.Number("", "2"), |
| 36 | sqltypes.Number("", "5"), |
| 37 | )), |
| 38 | ), |
| 39 | ExpectedSQL: "5 = ANY(ARRAY [2,5])", |
| 40 | }, |
| 41 | { |
| 42 | Name: "BoolArray", |
| 43 | Membership: sqltypes.MemberOf( |
| 44 | sqltypes.Bool(true), |
| 45 | must(sqltypes.Array("", |
| 46 | sqltypes.Bool(false), |
| 47 | sqltypes.Bool(true), |
| 48 | )), |
| 49 | ), |
| 50 | ExpectedSQL: "true = ANY(ARRAY [false,true])", |
| 51 | }, |
| 52 | { |
| 53 | Name: "EmptyArray", |
| 54 | Membership: sqltypes.MemberOf( |
| 55 | sqltypes.Bool(true), |
| 56 | must(sqltypes.Array("")), |
| 57 | ), |
| 58 | ExpectedSQL: "false", |
| 59 | }, |
| 60 | { |
| 61 | Name: "AlwaysFalseMember", |
| 62 | Membership: sqltypes.MemberOf( |
| 63 | sqltypes.AlwaysFalseNode(sqltypes.Bool(true)), |
| 64 | must(sqltypes.Array("", |
| 65 | sqltypes.Bool(false), |
| 66 | sqltypes.Bool(true), |
| 67 | )), |
| 68 | ), |
nothing calls this directly
no test coverage detected