Add assertion struct

change to better API.
because current API is redundant because the pass every time testingT.

but this code is highly incompatible.