I feel like "assertOutput" is a confusing name as is.  I feel like assertOutputEquivalentTo(...) is clearer, but it also does this wierd thing by asserting against stored state behind the scenes, which is not the usual approach with assert* methods.  Maybe verifyOutput(...) would remove the impression?