def test_scrubtype_basic(self): assert_equal(scrubtype('int'), 'int') assert_equal(scrubtype('FooBar'), 'FooBar') assert_equal(scrubtype('List[str]'), 'List[str]')
def test_scrubtype_reject_curly_braces(self): assert_equal(scrubtype('{'), None) assert_equal(scrubtype('}'), None) assert_equal(scrubtype('int {optional}'), None) assert_equal(scrubtype('{optional} int'), None)
def test_scrubtype_reject_comma_outside_brackets(self): assert_equal(scrubtype('int, Optional'), None) assert_equal(scrubtype('Tuple[int, int], or, Tuple[str, str]'), None)
def check(source, expected): assert_equal(scrubtype(source, only_known=True), expected)
def test_scrubtype_reject_parentheses(self): assert_equal(scrubtype('('), None) assert_equal(scrubtype(')'), None) assert_equal(scrubtype('int (optional)'), None) assert_equal(scrubtype('(optional) int'), None)
def test_scrubtype_aliases(self): assert_equal(scrubtype('integer'), 'int') assert_equal(scrubtype('an integer'), 'int') assert_equal(scrubtype('dictionary'), 'Dict[Any, Any]')
def test_scrubtype_patterns(self): assert_equal(scrubtype('list of integer'), 'List[int]')