test precondition