def clean_semver(cls, version_spec):
        return re.sub(r"([<>=~])\s+?v?", "\\1", version_spec, re.IGNORECASE)
def test_exceptions(self):
        self.assert_(issubclass(DeoptionError, TypeError))
        self.assertRaises(TypeError,
            lambda: Optional()
        )
        self.assertRaises(TypeError,
            lambda: Optional(NotPassed, NotPassed)
        )