anchor.diff:  
   do_or_conditional(Module) ->
     ct:comment("or_conditional with ~p", [Module]),
  -  [_, _, _] = sumo:find_by(Module,
  -                           {'or', [{name, "John"},
  +  3 = length(sumo:find_by(Module,
  +                          {'or', [{name, "John"},
  +                                  {name, "Joe"},
  +                                  {name, "Alan"}
  +                                 ]
  +                          })),
  +
  +  2 = length(sumo:find_by(Module,
  +                          [{last_name, "Doe"},
  +                           {'or', [{name, "Jane"},
  +                                   {name, "Jane Jr."}
  +                                  ]
  +                           }])).
  +
  +and_conditional(_Config) ->
  +  lists:foreach(
  +    fun do_and_conditional/1,
  +    sumo_test_utils:people_with_conditional_logic()),
  +  {comment, ""}.
  +
  +do_and_conditional(Module) ->
  +  ct:comment("and_conditional with ~p", [Module]),
  +  0 = length(sumo:find_by(Module,
  +                          {'and', [{name, "John"},
                                      {name, "Joe"},
                                      {name, "Alan"}
                                     ]
  -                           }
  -                          ),
  -
  -  [_, _] = sumo:find_by(Module,
  -                        [{last_name, "Doe"},
  -                         {'or', [{name, "Jane"},
  -                                 {name, "Jane Jr."}
  -                                ]
  -                         }
  -                        ]
  -                       ).
  -
  -and_conditional(_Config) ->
  -  lists:foreach(
  -    fun do_and_conditional/1,
  -    sumo_test_utils:people_with_conditional_logic()),
  -  {comment, ""}.
  -
  -do_and_conditional(Module) ->
  -  ct:comment("and_conditional with ~p", [Module]),
  -  [] = sumo:find_by(Module,
  -                    {'and', [{name, "John"},
  -                             {name, "Joe"},
  -                             {name, "Alan"}
  -                            ]
  -                    }
  -                   ),
  -
  -  [_, _] = sumo:find_by(Module,
  -                        {'and', [{last_name, "Doe"},
  -                                 {'or', [{name, "Jane"},
  -                                         {name, "Jane Jr."}
  -                                        ]
  -                                 }
  -                                ]
  -                        }
  -                       ).
  +                          })),
  +
  +  2 = length(sumo:find_by(Module,
  +                          {'and', [{last_name, "Doe"},
  +                                   {'or', [{name, "Jane"},
  +                                           {name, "Jane Jr."}
  +                                          ]
  +                                   }
  +                                  ]
  +                          })).
   
   not_null_conditional(_Config) ->
     lists:foreach(
  
positive.code: 
  do_backward_compatibility(Module) ->
    ct:comment("backward_compatibility with ~p", [Module]),
    [_, _, _, _, _] = sumo:find_all(Module),
  
    [_, _, _] = sumo:find_by(Module, [{last_name, "Doe"}]),
  
    [_] = sumo:find_by(Module, [{name, "Jane"}, {last_name, "Doe"}]).
  
  or_conditional(_Config) ->
    lists:foreach(
  
negative.code: 
  do_operators(Module) ->
    ct:comment("operators with ~p", [Module]),
    4 = length(sumo:find_by(Module,
                            {'and', [{age, 'not_null'},
                                     {age, '<', 100}
                                    ]
                            })),
  
    1 = length(sumo:find_by(Module,
                            {'and', [{age, 'not_null'},
                                     {age, '>', 100}
                                    ]
                            })),
  
    0 = length(sumo:find_by(Module,
                            {'and', [{age, 'not_null'},
                                     {age, '>', 102}
                                    ]
                            })),
  
    1 = length(sumo:find_by(Module,
                            {'and', [{age, 'not_null'},
                                     {age, '>=', 102}
                                    ]
                            })),
  
  
    3 = length(sumo:find_by(Module,
                            {'and', [{age, 'not_null'},
                                     {age, '<', 30}
                                    ]
                            })),
  
    4 = length(sumo:find_by(Module,
                            {'and', [{age, 'not_null'},
                                     {age, '=<', 30}
                                    ]
                            })),
  
    1 = length(sumo:find_by(Module,
                            {'or', [{age, 'null'},
                                    {age, '==', 30}
                                   ]
                            })),
  
    4 = length(sumo:find_by(Module,
                            {'and', [{age, 'not_null'},
                                     {age, '/=', 30}
                                    ]
                            })),
  
    case lists:member(Module, sumo_test_utils:people_with_like()) of
      true ->
        4 = length(sumo:find_by(Module, {name, 'like', "J%"})),
        2 = length(sumo:find_by(Module, {'and', [{name, 'like', "Ja%"}]})),
        1 = length(sumo:find_by(Module, {name, 'like', "A%"})),
        2 = length(sumo:find_by(Module, {name, 'like', "%n"}));
      false ->
        ok
    end.
  