I certainly get the vibe of what is going on here, but this helper may be overly abstract.

  * When I saw the argument names ``before_add_assertion`` and ``after_add_assertion`` thought that they were lambdas that asserted something. Better names might be ``before_add_expected_value`` and ``after_add_expected_value``
  * Using the helper may be more clear if you use keyword= in front of all the values to make the body of the test function more self documenting.