[first draft] enhanced version of SqlPredicateTest

Missing features:
- fully configurable customPredicate
- needs more types of customPredicate

Waiting your review.
Always add a default. If you don't, and you add a new type later, you won't see the logic is missing. And you can waste a lot of time on it.