I can' help thinking there should be a test that exercises only the duplicate item case (ie, don't have the '4' in the expected set).