def test_valid_email_addr(self):
     """Test with valid email addresses.
     
     Pass valid addresses to parse_email_addr function and check that
     it returns 0.
     """
     for text in self.valid_email_addr_generator():
         returned_value = parse_email_addr(text) 
         self.assertIsInstance(returned_value, int)
         msg = ('text <{}> should have been classified as a valid email'
             ' address').format(text)
         self.assertEqual(returned_value, 0, msg)
    def test_bad_text(self):
        """Test with a bad input strings.

        Check that parse_email_addr function returns correct error code.
        """
        for text, err_code in self.bad_text_generator():
            returned_value = parse_email_addr(text) 
            self.assertIsInstance(returned_value, int)
            if returned_value:
                msg = 'wrong rule number returned for bad text <{}>'
            else:
                msg = ('text <{}> was incorrectly classified as a valid email'
                    ' address')
            msg = msg.format(text)

            self.assertEqual(returned_value, err_code, msg)