self-checking exhaustive test bench implemented