don't use each_with_object, ruby 1.8 doesn't have it
shorten have_size matcher