mock: add once() and count()