Allow tests to have some more conditions
Make tests somewhat more expressive; should be generalised in future