def METHOD_NAME(self):
    invalid = {
        (0, 0, 0): "Month must be in 1..12",
        (0, 2, 0): "Day must be in 1..29",
        (2003, 2, 29): "Day must be in 1..28",
    }
    for args, msg in invalid.items():
        with self.assertRaises(ValueError) as cm:
            validate_date(*args)
        self.assertEqual(msg, str(cm.exception))