it took a lot longer then i though, but here is a patch that adds QueryUtils checking against (at least one of) the Query objects produced by every default QParser and ValueSourceParser. It includes a future proofing "testCoverage" that sets a bit informing an AfterClass method to assert that all of the default parsers were tested so we don't risk this probably again the next time someone adds a new parsers.
Currently 4 methods are failing, indicating the following problems...
- strdist func - identical query strings don't produce equals() queries
- join qparser - clone w/diff boost still has equals hashCode
- bbox qparser - clone w/diff boost still has equals hashCode
- geofilt qparser - clone w/diff boost still has equals hashCode
the hashCode equality isn't the end of the world, but it suggests a really poor hashCode impl (that evidently doesn't call super since Query.hashCode already handles the boost)