exhaustive tests