tests with optional message and message-fn for inclusion and exclusion