<s> from __future__ import print_function <EOL> import pprint <EOL> import os <EOL> import sys <EOL> from xdress . types . system import TypeSystem <EOL> from xdress . utils import Arg <EOL> from nose . tools import assert_equal , with_setup <EOL> from tools import unit <EOL> if sys . version_info [ <NUM_LIT:0> ] > <NUM_LIT:2> : <EOL> basestring = str <EOL> ts = TypeSystem ( ) <EOL> new_refined = { <EOL> '<STR_LIT>' : ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) , ( '<STR_LIT>' , '<STR_LIT>' ) ) : '<STR_LIT>' , <EOL> ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) , ( '<STR_LIT>' , '<STR_LIT>' ) ) : '<STR_LIT>' , <EOL> ( '<STR_LIT>' , '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) , ( '<STR_LIT>' , '<STR_LIT>' ) ) : '<STR_LIT>' , <EOL> } <EOL> new_template = { <EOL> '<STR_LIT>' : ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) , ( '<STR_LIT>' , '<STR_LIT>' ) ) , <EOL> } <EOL> def add_new_refined ( ) : <EOL> ts . refined_types . update ( new_refined ) <EOL> ts . template_types . update ( new_template ) <EOL> def del_new_refined ( ) : <EOL> [ ts . refined_types . pop ( key ) for key in new_refined ] <EOL> for key in new_template : <EOL> del ts . template_types [ key ] <EOL> new_py2c = { <EOL> '<STR_LIT>' : ( '<STR_LIT>' , False ) , <EOL> '<STR_LIT>' : ( '<STR_LIT>' , False ) , <EOL> '<STR_LIT>' : ( '<STR_LIT>' , False ) , <EOL> '<STR_LIT>' : ( '<STR_LIT>' , False ) , <EOL> } <EOL> add_new_py2c = lambda : ts . cython_py2c_conv . update ( new_py2c ) <EOL> del_new_py2c = lambda : [ ts . cython_py2c_conv . pop ( key ) for key in new_py2c ] <EOL> def check_canon ( t , exp ) : <EOL> obs = ts . canon ( t ) <EOL> pprint . pprint ( exp ) <EOL> pprint . pprint ( obs ) <EOL> assert_equal ( exp , obs ) <EOL> @ unit <EOL> @ with_setup ( add_new_refined , del_new_refined ) <EOL> def test_canon ( ) : <EOL> cases = ( <EOL> ( '<STR_LIT:str>' , '<STR_LIT:str>' ) , <EOL> ( ( '<STR_LIT:str>' , ) , ( '<STR_LIT:str>' , <NUM_LIT:0> ) ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) ) , <EOL> ( ( '<STR_LIT>' , ) , ( ( '<STR_LIT>' , '<STR_LIT>' ) , <NUM_LIT:0> ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' ) , ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:0> ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) , '<STR_LIT>' , <NUM_LIT:0> ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) , '<STR_LIT>' , <NUM_LIT:0> ) ) , <EOL> ( '<STR_LIT>' , ( ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) , '<STR_LIT>' , <NUM_LIT:0> ) , '<STR_LIT>' ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT:*>' ) , ( '<STR_LIT>' , '<STR_LIT:*>' ) ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT> ) , ( '<STR_LIT>' , <NUM_LIT> ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) , ( '<STR_LIT>' , ( '<STR_LIT:str>' , '<STR_LIT>' ) , <NUM_LIT:0> ) , <NUM_LIT:0> ) ) , <EOL> ( ( ( ( '<STR_LIT>' , '<STR_LIT>' ) , '<STR_LIT>' ) , '<STR_LIT:&>' ) , <EOL> ( ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:0> ) , '<STR_LIT>' ) , '<STR_LIT:&>' ) ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , ( '<STR_LIT>' , ( '<STR_LIT>' , <EOL> ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:1> ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:2> ) ) ) ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , ( ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , <EOL> ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) , <NUM_LIT> ) , <EOL> ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) , <NUM_LIT> ) ) ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , ( '<STR_LIT>' , <EOL> ( '<STR_LIT>' , '<STR_LIT>' , <EOL> ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:1> ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:2> ) ) ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , ( ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) , <NUM_LIT> ) , <EOL> ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) , <NUM_LIT> ) ) ) ) , <EOL> ( ( '<STR_LIT>' , ( ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT:*>' ) ) , ) , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT:*>' ) , ( '<STR_LIT>' , ( '<STR_LIT>' , ( '<STR_LIT:list>' , <EOL> ( '<STR_LIT>' , '<STR_LIT:str>' , '<STR_LIT:type>' , <NUM_LIT:0> ) , <NUM_LIT:0> ) , ( ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT:*>' ) ) , ) ) , <EOL> ( '<STR_LIT>' , '<STR_LIT:type>' , '<STR_LIT:int>' ) ) ) ) , <EOL> ) <EOL> for t , exp in cases : <EOL> yield check_canon , t , exp <EOL> yield check_canon , ts . canon ( t ) , exp <EOL> def check_basename ( t , exp ) : <EOL> obs = ts . basename ( t ) <EOL> pprint . pprint ( exp ) <EOL> pprint . pprint ( obs ) <EOL> assert_equal ( exp , obs ) <EOL> @ unit <EOL> @ with_setup ( add_new_refined , del_new_refined ) <EOL> def test_basename ( ) : <EOL> cases = ( <EOL> ( '<STR_LIT:str>' , '<STR_LIT:str>' ) , <EOL> ( ( '<STR_LIT:str>' , ) , '<STR_LIT:str>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' ) , '<STR_LIT>' , ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT:*>' ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT> ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , ( ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT:*>' ) ) , ) , '<STR_LIT:int>' ) , '<STR_LIT>' ) , <EOL> ) <EOL> for t , exp in cases : <EOL> yield check_basename , t , exp <EOL> def check_cython_ctype ( t , exp ) : <EOL> obs = ts . cython_ctype ( t ) <EOL> assert_equal ( exp , obs ) <EOL> @ unit <EOL> @ with_setup ( add_new_refined , del_new_refined ) <EOL> def test_cython_ctype ( ) : <EOL> cases = ( <EOL> ( '<STR_LIT:str>' , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT:str>' , ) , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT:float>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , ) , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT:*>' ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT> ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , '<STR_LIT:int>' ) , <EOL> ) <EOL> for t , exp in cases : <EOL> yield check_cython_ctype , t , exp <EOL> def check_cython_funcname ( name , exp ) : <EOL> obs = ts . cython_funcname ( name ) <EOL> assert_equal ( exp , obs ) <EOL> @ unit <EOL> @ with_setup ( add_new_refined , del_new_refined ) <EOL> def test_cython_funcname ( ) : <EOL> cases = ( <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT:int>' , '<STR_LIT:float>' ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT:3> , True ) , '<STR_LIT>' ) , <EOL> ) <EOL> for t , exp in cases : <EOL> yield check_cython_funcname , t , exp <EOL> def check_cython_template_funcname ( name , argkinds , exp ) : <EOL> obs = ts . cython_funcname ( name , argkinds = argkinds ) <EOL> assert_equal ( exp , obs ) <EOL> @ unit <EOL> @ with_setup ( add_new_refined , del_new_refined ) <EOL> def test_cython_template_funcname ( ) : <EOL> cases = ( <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' ) , [ ( Arg . TYPE , '<STR_LIT>' ) ] , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT:int>' , '<STR_LIT:float>' ) , [ ( Arg . TYPE , '<STR_LIT:int>' ) , ( Arg . TYPE , '<STR_LIT:float>' ) ] , <EOL> '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT:3> , True ) , [ ( Arg . LIT , <NUM_LIT:3> ) , ( Arg . LIT , True ) ] , '<STR_LIT>' ) , <EOL> ) <EOL> for t , ak , exp in cases : <EOL> yield check_cython_template_funcname , t , ak , exp <EOL> def check_cython_cimport_tuples_no_cy ( t , exp ) : <EOL> obs = ts . cython_cimport_tuples ( t , inc = set ( [ '<STR_LIT:c>' ] ) ) <EOL> assert_equal ( obs , exp ) <EOL> @ unit <EOL> @ with_setup ( add_new_refined , del_new_refined ) <EOL> def test_cython_cimport_tuples_no_cy ( ) : <EOL> cases = ( <EOL> ( '<STR_LIT:str>' , set ( [ ( '<STR_LIT>' , '<STR_LIT:string>' , '<STR_LIT>' ) ] ) ) , <EOL> ( ( '<STR_LIT:str>' , ) , set ( [ ( '<STR_LIT>' , '<STR_LIT:string>' , '<STR_LIT>' ) ] ) ) , <EOL> ( '<STR_LIT>' , set ( ) ) , <EOL> ( '<STR_LIT>' , set ( [ ( '<STR_LIT>' , '<STR_LIT>' ) ] ) ) , <EOL> ( ( '<STR_LIT>' ) , set ( [ ( '<STR_LIT>' , '<STR_LIT>' ) ] ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' ) , set ( [ ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , ) ] ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , set ( [ ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) ] ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , set ( [ ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) ] ) ) , <EOL> ( '<STR_LIT>' , set ( [ ( '<STR_LIT>' , '<STR_LIT>' ) , ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) ] ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT:*>' ) , set ( ) ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT> ) , set ( ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) ) , set ( [ ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT:string>' , '<STR_LIT>' ) ] ) ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , set ( ) ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , set ( [ ( '<STR_LIT>' , '<STR_LIT>' ) ] ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , set ( ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , set ( [ ( '<STR_LIT>' , '<STR_LIT>' ) ] ) ) , <EOL> ) <EOL> for t , exp in cases : <EOL> yield check_cython_cimport_tuples_no_cy , t , exp <EOL> def check_cython_cimport_tuples_with_cy ( t , exp ) : <EOL> obs = ts . cython_cimport_tuples ( t ) <EOL> assert_equal ( exp , obs ) <EOL> @ unit <EOL> @ with_setup ( add_new_refined , del_new_refined ) <EOL> def test_cython_cimport_tuples_with_cy ( ) : <EOL> cases = ( <EOL> ( '<STR_LIT:str>' , set ( [ ( '<STR_LIT>' , '<STR_LIT:string>' , '<STR_LIT>' ) ] ) ) , <EOL> ( ( '<STR_LIT:str>' , ) , set ( [ ( '<STR_LIT>' , '<STR_LIT:string>' , '<STR_LIT>' ) ] ) ) , <EOL> ( '<STR_LIT>' , set ( ) ) , <EOL> ( '<STR_LIT>' , set ( [ ( '<STR_LIT>' , '<STR_LIT>' ) , ( '<STR_LIT>' , '<STR_LIT>' ) ] ) ) , <EOL> ( ( '<STR_LIT>' , ) , set ( [ ( '<STR_LIT>' , '<STR_LIT>' ) , ( '<STR_LIT>' , '<STR_LIT>' ) ] ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' ) , set ( [ ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , ) , <EOL> ( '<STR_LIT>' , ) ] ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , set ( [ ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , ) ] ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , set ( [ ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , ) ] ) ) , <EOL> ( '<STR_LIT>' , set ( [ ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , ) ] ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT:*>' ) , set ( ) ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT> ) , set ( ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) ) , set ( [ ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT:string>' , '<STR_LIT>' ) ] ) ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , set ( ) ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , set ( [ ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) ] ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , set ( ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , set ( [ ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) ] ) ) , <EOL> ) <EOL> for t , exp in cases : <EOL> yield check_cython_cimport_tuples_with_cy , t , exp <EOL> def check_cython_cimport_lines ( t , exp ) : <EOL> obs = ts . cython_cimport_lines ( t ) <EOL> assert_equal ( exp , obs ) <EOL> @ unit <EOL> def test_cython_cimport_lines ( ) : <EOL> cases = ( <EOL> ( '<STR_LIT:str>' , set ( [ '<STR_LIT>' , ] ) ) , <EOL> ( '<STR_LIT>' , set ( ) ) , <EOL> ( set ( [ ( '<STR_LIT>' , ) ] ) , set ( [ '<STR_LIT>' , ] ) ) , <EOL> ( set ( [ ( '<STR_LIT>' , '<STR_LIT>' ) ] ) , set ( [ '<STR_LIT>' , ] ) ) , <EOL> ( set ( [ ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) ] ) , set ( [ '<STR_LIT>' , ] ) ) , <EOL> ( set ( [ ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) ] ) , set ( [ '<STR_LIT>' , ] ) ) , <EOL> ( set ( [ ( '<STR_LIT>' , ) , ( '<STR_LIT>' , '<STR_LIT>' ) ] ) , <EOL> set ( [ '<STR_LIT>' , '<STR_LIT>' ] ) ) , <EOL> ) <EOL> for t , exp in cases : <EOL> yield check_cython_cimport_lines , t , exp <EOL> def check_cython_import_tuples ( t , exp ) : <EOL> obs = ts . cython_import_tuples ( t ) <EOL> assert_equal ( exp , obs ) <EOL> @ unit <EOL> @ with_setup ( add_new_refined , del_new_refined ) <EOL> def test_cython_import_tuples ( ) : <EOL> cases = ( <EOL> ( '<STR_LIT:str>' , set ( ) ) , <EOL> ( ( '<STR_LIT:str>' , ) , set ( ) ) , <EOL> ( '<STR_LIT>' , set ( ) ) , <EOL> ( '<STR_LIT>' , set ( [ ( '<STR_LIT>' , '<STR_LIT>' ) ] ) ) , <EOL> ( ( '<STR_LIT>' , ) , set ( [ ( '<STR_LIT>' , '<STR_LIT>' ) ] ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' ) , set ( [ ( '<STR_LIT>' , ) , ( '<STR_LIT>' , ) ] ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , set ( [ ( '<STR_LIT>' , ) , ( '<STR_LIT>' , ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) ] ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , set ( [ ( '<STR_LIT>' , ) , ( '<STR_LIT>' , '<STR_LIT>' ) ] ) ) , <EOL> ( '<STR_LIT>' , set ( [ ( '<STR_LIT>' , ) , ( '<STR_LIT>' , '<STR_LIT>' ) , ( '<STR_LIT>' , ) ] ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT:*>' ) , set ( ) ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT> ) , set ( ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) ) , <EOL> set ( [ ( '<STR_LIT>' , ) , ( '<STR_LIT>' , '<STR_LIT>' ) , ( '<STR_LIT>' , ) ] ) ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , set ( ) ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , set ( [ ( '<STR_LIT>' , '<STR_LIT>' ) ] ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , set ( ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , set ( [ ( '<STR_LIT>' , '<STR_LIT>' ) ] ) ) , <EOL> ) <EOL> for t , exp in cases : <EOL> yield check_cython_import_tuples , t , exp <EOL> def check_cython_import_lines ( t , exp ) : <EOL> obs = ts . cython_import_lines ( t ) <EOL> assert_equal ( exp , obs ) <EOL> @ unit <EOL> def test_cython_import_lines ( ) : <EOL> cases = ( <EOL> ( '<STR_LIT:str>' , set ( ) ) , <EOL> ( '<STR_LIT>' , set ( ) ) , <EOL> ( set ( [ ( '<STR_LIT>' , ) ] ) , set ( [ '<STR_LIT>' , ] ) ) , <EOL> ( set ( [ ( '<STR_LIT>' , '<STR_LIT>' ) ] ) , set ( [ '<STR_LIT>' , ] ) ) , <EOL> ( set ( [ ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) ] ) , set ( [ '<STR_LIT>' , ] ) ) , <EOL> ( set ( [ ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) ] ) , set ( [ '<STR_LIT>' , ] ) ) , <EOL> ( set ( [ ( '<STR_LIT>' , ) , ( '<STR_LIT>' , '<STR_LIT>' ) ] ) , <EOL> set ( [ '<STR_LIT>' , '<STR_LIT>' ] ) ) , <EOL> ) <EOL> for t , exp in cases : <EOL> yield check_cython_import_lines , t , exp <EOL> def check_cython_cytype ( t , exp ) : <EOL> obs = ts . cython_cytype ( t ) <EOL> assert_equal ( exp , obs ) <EOL> @ unit <EOL> @ with_setup ( add_new_refined , del_new_refined ) <EOL> def test_cython_cytype ( ) : <EOL> cases = ( <EOL> ( '<STR_LIT:str>' , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT:str>' , ) , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT:float>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , ) , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT:*>' ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT> ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , '<STR_LIT:int>' ) , <EOL> ) <EOL> for t , exp in cases : <EOL> yield check_cython_cytype , t , exp <EOL> def check_cython_pytype ( t , exp ) : <EOL> obs = ts . cython_pytype ( t ) <EOL> assert_equal ( obs , exp ) <EOL> @ unit <EOL> @ with_setup ( add_new_refined , del_new_refined ) <EOL> def test_cython_pytype ( ) : <EOL> cases = ( <EOL> ( '<STR_LIT:str>' , '<STR_LIT:str>' ) , <EOL> ( ( '<STR_LIT:str>' , ) , '<STR_LIT:str>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT:float>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , ) , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT:*>' ) , '<STR_LIT:str>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT> ) , '<STR_LIT:str>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , '<STR_LIT:int>' ) , <EOL> ) <EOL> for t , exp in cases : <EOL> yield check_cython_pytype , t , exp <EOL> def check_cython_c2py ( name , t , inst_name , exp ) : <EOL> obs = ts . cython_c2py ( name , t , inst_name = inst_name ) <EOL> assert_equal ( exp , obs ) <EOL> @ unit <EOL> @ with_setup ( add_new_refined , del_new_refined ) <EOL> def test_cython_c2py ( ) : <EOL> cases = ( <EOL> ( ( '<STR_LIT>' , '<STR_LIT:str>' , None ) , ( None , None , '<STR_LIT>' , False ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT:str>' , ) , None ) , <EOL> ( None , None , '<STR_LIT>' , False ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , None ) , ( None , None , '<STR_LIT>' , False ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , None ) , ( None , None , '<STR_LIT>' , False ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , ) , None ) , ( None , None , '<STR_LIT>' , False ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , <EOL> ( '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ) , '<STR_LIT>' , True ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , <EOL> ( '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ) , '<STR_LIT>' , True ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , <EOL> ( '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ) , '<STR_LIT>' , True ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , <EOL> ( '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ) , '<STR_LIT>' , True ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT:*>' ) , None ) , ( None , None , '<STR_LIT>' , False ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , <NUM_LIT> ) , None ) , ( None , None , '<STR_LIT>' , False ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) ) , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , <EOL> ( '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ) , '<STR_LIT>' , True ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , None ) , ( None , None , '<STR_LIT>' , False ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , None ) , <EOL> ( None , None , '<STR_LIT>' , False ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , None ) , <EOL> ( None , None , '<STR_LIT>' , False ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , None ) , <EOL> ( None , None , '<STR_LIT>' , False ) ) , <EOL> ) <EOL> for ( name , t , inst_name ) , exp in cases : <EOL> yield check_cython_c2py , name , t , inst_name , exp <EOL> def check_cython_py2c ( name , t , inst_name , exp ) : <EOL> obs = ts . cython_py2c ( name , t , inst_name = inst_name ) <EOL> assert_equal ( exp , obs ) <EOL> @ unit <EOL> @ with_setup ( add_new_refined , del_new_refined ) <EOL> @ with_setup ( add_new_py2c , del_new_py2c ) <EOL> def test_cython_py2c ( ) : <EOL> cases = ( <EOL> ( ( '<STR_LIT>' , '<STR_LIT:str>' , None ) , ( '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT:str>' , ) , None ) , ( '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , None ) , ( None , None , '<STR_LIT>' ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , None ) , ( None , None , '<STR_LIT>' ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , ) , None ) , ( None , None , '<STR_LIT>' ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , <EOL> ( '<STR_LIT>' <EOL> '<STR_LIT>' ) , <EOL> '<STR_LIT>' ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , <EOL> ( '<STR_LIT>' <EOL> '<STR_LIT>' ) , <EOL> '<STR_LIT>' ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , <EOL> ( '<STR_LIT>' <EOL> '<STR_LIT>' ) , <EOL> '<STR_LIT>' ) ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , ( None , None , <EOL> '<STR_LIT>' ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT:*>' ) , None ) , ( '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , <NUM_LIT> ) , None ) , ( '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) ) , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , <EOL> ( '<STR_LIT>' <EOL> '<STR_LIT>' ) , <EOL> '<STR_LIT>' ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , None ) , ( None , None , '<STR_LIT>' ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , None ) , <EOL> ( None , None , '<STR_LIT>' ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , None ) , <EOL> ( None , None , '<STR_LIT>' ) ) , <EOL> ( ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , None ) , <EOL> ( None , None , '<STR_LIT>' ) ) , <EOL> ) <EOL> for ( name , t , inst_name ) , exp in cases : <EOL> yield check_cython_py2c , name , t , inst_name , exp <EOL> def check_strip_predicates ( t , exp ) : <EOL> obs = ts . strip_predicates ( t ) <EOL> assert_equal ( exp , obs ) <EOL> @ unit <EOL> def test_strip_predicates ( ) : <EOL> cases = [ <EOL> [ ( '<STR_LIT>' , '<STR_LIT>' ) , ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:0> ) ] , <EOL> [ ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:0> ) ] , <EOL> [ ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:&>' ) , ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:0> ) ] , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:&>' ) , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:0> ) ] , <EOL> [ ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:&>' ) , <NUM_LIT:0> ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:0> ) , <NUM_LIT:0> ) ] , <EOL> [ ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:&>' ) , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:&>' ) , <NUM_LIT:0> ) ] , <EOL> ] <EOL> for t , exp in cases : <EOL> yield check_strip_predicates , t , exp <EOL> def check_cpp_type ( t , exp ) : <EOL> obs = ts . cpp_type ( t ) <EOL> assert_equal ( exp , obs ) <EOL> @ unit <EOL> @ with_setup ( add_new_refined , del_new_refined ) <EOL> def test_cpp_type ( ) : <EOL> cases = ( <EOL> ( '<STR_LIT:str>' , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT:str>' , ) , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT:float>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , ) , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT:*>' ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT> ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) ) , <EOL> '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , '<STR_LIT:int>' ) , <EOL> ) <EOL> for t , exp in cases : <EOL> yield check_cpp_type , t , exp <EOL> def check_cpp_funcname ( name , exp ) : <EOL> obs = ts . cpp_funcname ( name ) <EOL> assert_equal ( exp , obs ) <EOL> @ unit <EOL> @ with_setup ( add_new_refined , del_new_refined ) <EOL> def test_cpp_funcname ( ) : <EOL> cases = ( <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT:int>' , '<STR_LIT:float>' ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT:3> , True ) , '<STR_LIT>' ) , <EOL> ) <EOL> for t , exp in cases : <EOL> yield check_cpp_funcname , t , exp <EOL> def check_cpp_template_funcname ( name , argkinds , exp ) : <EOL> obs = ts . cpp_funcname ( name , argkinds = argkinds ) <EOL> assert_equal ( exp , obs ) <EOL> @ unit <EOL> @ with_setup ( add_new_refined , del_new_refined ) <EOL> def test_cpp_template_funcname ( ) : <EOL> cases = ( <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' ) , [ ( Arg . TYPE , '<STR_LIT>' ) ] , <EOL> '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT:int>' , '<STR_LIT:float>' ) , [ ( Arg . TYPE , '<STR_LIT:int>' ) , ( Arg . TYPE , '<STR_LIT:float>' ) ] , <EOL> '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT:3> , True ) , [ ( Arg . LIT , <NUM_LIT:3> ) , ( Arg . LIT , True ) ] , '<STR_LIT>' ) , <EOL> ) <EOL> for t , ak , exp in cases : <EOL> yield check_cpp_template_funcname , t , ak , exp <EOL> def check_gccxml_type ( t , exp ) : <EOL> obs = ts . gccxml_type ( t ) <EOL> assert_equal ( exp , obs ) <EOL> @ unit <EOL> @ with_setup ( add_new_refined , del_new_refined ) <EOL> def test_gccxml_type ( ) : <EOL> cases = ( <EOL> ( '<STR_LIT:str>' , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT:str>' , ) , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT:float>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , ) , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:float>' ) , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT:*>' ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT> ) , '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , ( '<STR_LIT>' , '<STR_LIT>' ) ) , <EOL> '<STR_LIT>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , '<STR_LIT:int>' ) , <EOL> ( ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , '<STR_LIT:int>' ) , <EOL> ) <EOL> for t , exp in cases : <EOL> yield check_gccxml_type , t , exp <EOL> @ unit <EOL> @ with_setup ( lambda : None , lambda : os . remove ( '<STR_LIT>' ) ) <EOL> def test_io ( ) : <EOL> filename = '<STR_LIT>' <EOL> hoover = TypeSystem ( ) . empty ( ) <EOL> hoover . extra_types = "<STR_LIT>" <EOL> hoover . dump ( filename , format = '<STR_LIT>' ) <EOL> hoover = TypeSystem . load ( filename , format = '<STR_LIT>' ) </s>
