diff options
Diffstat (limited to 'numpy/f2py/lib/parser/test_expressions.py')
-rw-r--r-- | numpy/f2py/lib/parser/test_expressions.py | 1118 |
1 files changed, 0 insertions, 1118 deletions
diff --git a/numpy/f2py/lib/parser/test_expressions.py b/numpy/f2py/lib/parser/test_expressions.py deleted file mode 100644 index 3981ec9a7..000000000 --- a/numpy/f2py/lib/parser/test_expressions.py +++ /dev/null @@ -1,1118 +0,0 @@ - -from numpy.testing import * - -from Fortran2003 import * - -class test_Expr(NumpyTestCase): - - def check_simple(self): - cls = Expr - a = cls('a .op. b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a .OP. b') - assert_equal(repr(a),"Expr(Name('a'), '.OP.', Name('b'))") - - a = cls('a') - assert isinstance(a,Name),`a` - assert_equal(str(a),'a') - -class test_Substring(NumpyTestCase): - - def check_substring(self): - cls = Substring - a = cls('a(1:2)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a(1 : 2)') - assert_equal(repr(a),"Substring(Name('a'), Substring_Range(Int_Literal_Constant('1', None), Int_Literal_Constant('2', None)))") - -class test_Part_Ref(NumpyTestCase): - - def check_part_ref(self): - cls = Part_Ref - a = cls('a') - assert isinstance(a, Name),`a` - assert_equal(str(a),'a') - -class test_Kind_Selector(NumpyTestCase): - - def check_kind_selector(self): - cls = Kind_Selector - a = cls('(1)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'(KIND = 1)') - assert_equal(repr(a),"Kind_Selector('(', Int_Literal_Constant('1', None), ')')") - - a = cls('(kind=1+2)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'(KIND = 1 + 2)') - - a = cls('* 1') - assert isinstance(a,cls),`a` - assert_equal(str(a),'*1') - -class test_Type_Param_Value(NumpyTestCase): - - def check_type_param_value(self): - cls = Type_Param_Value - a = cls('*') - assert isinstance(a,cls),`a` - assert_equal(str(a),'*') - assert_equal(repr(a),"Type_Param_Value('*')") - - a = cls(':') - assert isinstance(a,cls),`a` - assert_equal(str(a),':') - - a = cls('1+2') - assert isinstance(a,Level_2_Expr),`a` - assert_equal(str(a),'1 + 2') - -class test_Char_Length(NumpyTestCase): - - def check_char_length(self): - cls = Char_Length - a = cls('(1)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'(1)') - assert_equal(repr(a),"Char_Length('(', Int_Literal_Constant('1', None), ')')") - - a = cls('1') - assert isinstance(a,Int_Literal_Constant),`a` - assert_equal(str(a),'1') - - a = cls('(*)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'(*)') - - a = cls('(:)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'(:)') - -class test_Length_Selector(NumpyTestCase): - - def check_length_selector(self): - cls = Length_Selector - a = cls('( len = *)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'(LEN = *)') - assert_equal(repr(a),"Length_Selector('(', Type_Param_Value('*'), ')')") - - a = cls('*2,') - assert isinstance(a,cls),`a` - assert_equal(str(a),'*2') - -class test_Char_Selector(NumpyTestCase): - - def check_char_selector(self): - cls = Char_Selector - a = cls('(len=2, kind=8)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'(LEN = 2, KIND = 8)') - assert_equal(repr(a),"Char_Selector(Int_Literal_Constant('2', None), Int_Literal_Constant('8', None))") - - - a = cls('(2, kind=8)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'(LEN = 2, KIND = 8)') - - a = cls('(2, 8)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'(LEN = 2, KIND = 8)') - - a = cls('(kind=8)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'(KIND = 8)') - - a = cls('(kind=8,len=2)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'(LEN = 2, KIND = 8)') - -class test_Intrinsic_Type_Spec(NumpyTestCase): - - def check_intrinsic_type_spec(self): - cls = Intrinsic_Type_Spec - a = cls('INTEGER') - assert isinstance(a,cls),`a` - assert_equal(str(a),'INTEGER') - assert_equal(repr(a), "Intrinsic_Type_Spec('INTEGER', None)") - - a = cls('Integer*2') - assert isinstance(a,cls),`a` - assert_equal(str(a),'INTEGER*2') - - a = cls('real*2') - assert isinstance(a,cls),`a` - assert_equal(str(a),'REAL*2') - - a = cls('logical*2') - assert isinstance(a,cls),`a` - assert_equal(str(a),'LOGICAL*2') - - a = cls('complex*2') - assert isinstance(a,cls),`a` - assert_equal(str(a),'COMPLEX*2') - - a = cls('character*2') - assert isinstance(a,cls),`a` - assert_equal(str(a),'CHARACTER*2') - - a = cls('double complex') - assert isinstance(a,cls),`a` - assert_equal(str(a),'DOUBLE COMPLEX') - - a = cls('double precision') - assert isinstance(a,cls),`a` - assert_equal(str(a),'DOUBLE PRECISION') - -class test_Type_Param_Spec(NumpyTestCase): - - def check_type_param_spec(self): - cls = Type_Param_Spec - a = cls('a=1') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a = 1') - assert_equal(repr(a),"Type_Param_Spec(Name('a'), '=', Int_Literal_Constant('1', None))") - - a = cls('k=a') - assert isinstance(a,cls),`a` - assert_equal(str(a),'k = a') - - a = cls('k=:') - assert isinstance(a,cls),`a` - assert_equal(str(a),'k = :') - -class test_Type_Param_Spec_List(NumpyTestCase): - - def check_type_param_spec_list(self): - cls = Type_Param_Spec_List - - a = cls('a,b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a, b') - assert_equal(repr(a),"Type_Param_Spec_List(',', (Name('a'), Name('b')))") - - a = cls('a') - assert isinstance(a,Name),`a` - - a = cls('k=a,c,g=1') - assert isinstance(a,cls),`a` - assert_equal(str(a),'k = a, c, g = 1') - -class test_Type_Param_Inquiry(NumpyTestCase): - - def check_simple(self): - cls = Type_Param_Inquiry - a = cls('a % b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a % b') - assert_equal(repr(a),"Type_Param_Inquiry(Name('a'), '%', Name('b'))") - -class test_Function_Reference(NumpyTestCase): - - def check_simple(self): - cls = Function_Reference - a = cls('f()') - assert isinstance(a,cls),`a` - assert_equal(str(a),'f()') - assert_equal(repr(a),"Function_Reference(Name('f'), None)") - - a = cls('f(2,k=1,a)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'f(2, k = 1, a)') - -class test_Alt_Return_Spec(NumpyTestCase): - - def check_alt_return_spec(self): - cls = Alt_Return_Spec - a = cls('* 123') - assert isinstance(a,cls),`a` - assert_equal(str(a),'*123') - assert_equal(repr(a),"Alt_Return_Spec('123')") - -class test_Substring_Range(NumpyTestCase): - - def check_substring_range(self): - cls = Substring_Range - a = cls('a:b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a : b') - assert_equal(repr(a),"Substring_Range(Name('a'), Name('b'))") - - a = cls('a:') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a :') - - a = cls(':b') - assert isinstance(a,cls),`a` - assert_equal(str(a),': b') - - a = cls(':') - assert isinstance(a,cls),`a` - assert_equal(str(a),':') - -class test_Array_Section(NumpyTestCase): - - def check_array_section(self): - cls = Array_Section - a = cls('a(:)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a(:)') - assert_equal(repr(a),"Array_Section(Name('a'), Substring_Range(None, None))") - - a = cls('a(2:)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a(2 :)') - -class test_Procedure_Designator(NumpyTestCase): - - def check_procedure_designator(self): - cls = Procedure_Designator - a = cls('a%b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a % b') - assert_equal(repr(a),"Procedure_Designator(Name('a'), '%', Name('b'))") - -class test_Data_Ref(NumpyTestCase): - - def check_data_ref(self): - cls = Data_Ref - a = cls('a%b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a % b') - assert_equal(repr(a),"Data_Ref('%', (Name('a'), Name('b')))") - - a = cls('a') - assert isinstance(a,Name),`a` - assert_equal(str(a),'a') - -class test_Proc_Component_Ref(NumpyTestCase): - - def check_proc_component_ref(self): - cls = Proc_Component_Ref - a = cls('a % b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a % b') - assert_equal(repr(a),"Proc_Component_Ref(Name('a'), '%', Name('b'))") - -class test_Structure_Constructor(NumpyTestCase): - - def check_structure_constructor(self): - cls = Structure_Constructor - a = cls('t()') - assert isinstance(a,cls),`a` - assert_equal(str(a),'t()') - assert_equal(repr(a),"Structure_Constructor(Type_Name('t'), None)") - - a = cls('t(s=1, a)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'t(s = 1, a)') - - a = cls('a=k') - assert isinstance(a,Structure_Constructor_2),`a` - assert_equal(str(a),'a = k') - assert_equal(repr(a),"Structure_Constructor_2(Name('a'), '=', Name('k'))") - - a = cls('a') - assert isinstance(a,Name),`a` - assert_equal(str(a),'a') - -class test_Ac_Implied_Do_Control(NumpyTestCase): - - def check_ac_implied_do_control(self): - cls = Ac_Implied_Do_Control - a = cls('n = 3, 5') - assert isinstance(a,cls),`a` - assert_equal(str(a),'n = 3, 5') - assert_equal(repr(a),"Ac_Implied_Do_Control(Name('n'), [Int_Literal_Constant('3', None), Int_Literal_Constant('5', None)])") - - a = cls('n = 3+1, 5, 1') - assert isinstance(a,cls),`a` - assert_equal(str(a),'n = 3 + 1, 5, 1') - -class test_Ac_Value_List(NumpyTestCase): - - def check_ac_value_list(self): - cls = Ac_Value_List - a = cls('a, b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a, b') - assert_equal(repr(a),"Ac_Value_List(',', (Name('a'), Name('b')))") - - a = cls('a') - assert isinstance(a,Name),`a` - assert_equal(str(a),'a') - -class test_Ac_Implied_Do(NumpyTestCase): - - def check_ac_implied_do(self): - cls = Ac_Implied_Do - a = cls('( a, b, n = 1, 5 )') - assert isinstance(a,cls),`a` - assert_equal(str(a),'(a, b, n = 1, 5)') - assert_equal(repr(a),"Ac_Implied_Do(Ac_Value_List(',', (Name('a'), Name('b'))), Ac_Implied_Do_Control(Name('n'), [Int_Literal_Constant('1', None), Int_Literal_Constant('5', None)]))") - -class test_Ac_Spec(NumpyTestCase): - - def check_ac_spec(self): - cls = Ac_Spec - a = cls('integer ::') - assert isinstance(a,cls),`a` - assert_equal(str(a),'INTEGER ::') - assert_equal(repr(a),"Ac_Spec(Intrinsic_Type_Spec('INTEGER', None), None)") - - a = cls('integer :: a,b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'INTEGER :: a, b') - - a = cls('a,b') - assert isinstance(a,Ac_Value_List),`a` - assert_equal(str(a),'a, b') - - a = cls('integer :: a, (a, b, n = 1, 5)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'INTEGER :: a, (a, b, n = 1, 5)') - -class test_Name(NumpyTestCase): - - def check_name(self): - a = Name('a') - assert isinstance(a,Name),`a` - a = Name('a2') - assert isinstance(a,Name),`a` - a = Designator('a') - assert isinstance(a,Name),`a` - a = Constant('a') - assert isinstance(a,Name),`a` - a = Expr('a') - assert isinstance(a,Name),`a` - -class test_Int_Literal_Constant(NumpyTestCase): - - def check_int_literal_constant(self): - cls = Int_Literal_Constant - a = cls('1') - assert isinstance(a,cls),`a` - assert_equal(str(a),'1') - assert_equal(repr(a),"%s('1', None)" % (cls.__name__)) - - a = cls('21_2') - assert isinstance(a,cls),`a` - assert_equal(str(a),'21_2') - assert_equal(repr(a),"%s('21', '2')" % (cls.__name__)) - - a = cls('21_SHORT') - assert isinstance(a,cls),`a` - assert_equal(str(a),'21_SHORT') - - a = cls('21_short') - assert isinstance(a,cls),`a` - assert_equal(str(a),'21_short') - - a = cls('1976354279568241_8') - assert isinstance(a,cls),`a` - assert_equal(str(a),'1976354279568241_8') - -class test_Signed_Int_Literal_Constant(NumpyTestCase): - - def check_int_literal_constant(self): - cls = Signed_Int_Literal_Constant - a = cls('1') - assert isinstance(a,cls),`a` - assert_equal(str(a),'1') - assert_equal(repr(a),"%s('1', None)" % (cls.__name__)) - - a = cls('+ 21_2') - assert isinstance(a,cls),`a` - assert_equal(str(a),'+ 21_2') - assert_equal(repr(a),"%s('+ 21', '2')" % (cls.__name__)) - - a = cls('-21_SHORT') - assert isinstance(a,cls),`a` - assert_equal(str(a),'-21_SHORT') - - a = cls('21_short') - assert isinstance(a,cls),`a` - assert_equal(str(a),'21_short') - - a = cls('+1976354279568241_8') - assert isinstance(a,cls),`a` - assert_equal(str(a),'+1976354279568241_8') - -class test_Real_Literal_Constant(NumpyTestCase): - - def check_real_literal_constant(self): - cls = Real_Literal_Constant - a = cls('12.78') - assert isinstance(a,cls),`a` - assert_equal(str(a),'12.78') - assert_equal(repr(a),"%s('12.78', None)" % (cls.__name__)) - - a = cls('12.78_8') - assert isinstance(a,cls),`a` - assert_equal(str(a),'12.78_8') - assert_equal(repr(a),"%s('12.78', '8')" % (cls.__name__)) - - a = cls('12.') - assert isinstance(a,cls),`a` - assert_equal(str(a),'12.') - - a = cls('1.6E3') - assert isinstance(a,cls),`a` - assert_equal(str(a),'1.6E3') - - a = cls('1.6E3_8') - assert isinstance(a,cls),`a` - assert_equal(str(a),'1.6E3_8') - - a = cls('1.6D3') - assert isinstance(a,cls),`a` - assert_equal(str(a),'1.6D3') - - a = cls('1.6E-3') - assert isinstance(a,cls),`a` - assert_equal(str(a),'1.6E-3') - a = cls('1.6E+3') - assert isinstance(a,cls),`a` - assert_equal(str(a),'1.6E+3') - - a = cls('3E4') - assert isinstance(a,cls),`a` - assert_equal(str(a),'3E4') - - a = cls('.123') - assert isinstance(a,cls),`a` - assert_equal(str(a),'.123') - - a = cls('1.6E-3') - assert isinstance(a,cls),`a` - assert_equal(str(a),'1.6E-3') - - a = cls('10.9E7_QUAD') - assert isinstance(a,cls),`a` - assert_equal(str(a),'10.9E7_QUAD') - - a = cls('10.9e-17_quad') - assert isinstance(a,cls),`a` - assert_equal(str(a),'10.9E-17_quad') - -class test_Signed_Real_Literal_Constant(NumpyTestCase): - - def check_signed_real_literal_constant(self): - cls = Signed_Real_Literal_Constant - a = cls('12.78') - assert isinstance(a,cls),`a` - assert_equal(str(a),'12.78') - assert_equal(repr(a),"%s('12.78', None)" % (cls.__name__)) - - a = cls('+12.78_8') - assert isinstance(a,cls),`a` - assert_equal(str(a),'+12.78_8') - assert_equal(repr(a),"%s('+12.78', '8')" % (cls.__name__)) - - a = cls('- 12.') - assert isinstance(a,cls),`a` - assert_equal(str(a),'- 12.') - - a = cls('1.6E3') - assert isinstance(a,cls),`a` - assert_equal(str(a),'1.6E3') - - a = cls('+1.6E3_8') - assert isinstance(a,cls),`a` - assert_equal(str(a),'+1.6E3_8') - - a = cls('1.6D3') - assert isinstance(a,cls),`a` - assert_equal(str(a),'1.6D3') - - a = cls('-1.6E-3') - assert isinstance(a,cls),`a` - assert_equal(str(a),'-1.6E-3') - a = cls('1.6E+3') - assert isinstance(a,cls),`a` - assert_equal(str(a),'1.6E+3') - - a = cls('3E4') - assert isinstance(a,cls),`a` - assert_equal(str(a),'3E4') - - a = cls('.123') - assert isinstance(a,cls),`a` - assert_equal(str(a),'.123') - - a = cls('+1.6E-3') - assert isinstance(a,cls),`a` - assert_equal(str(a),'+1.6E-3') - - a = cls('10.9E7_QUAD') - assert isinstance(a,cls),`a` - assert_equal(str(a),'10.9E7_QUAD') - - a = cls('-10.9e-17_quad') - assert isinstance(a,cls),`a` - assert_equal(str(a),'-10.9E-17_quad') - - -class test_Complex_Literal_Constant(NumpyTestCase): - - def check_complex_literal_constant(self): - cls = Complex_Literal_Constant - a = cls('(1.0, -1.0)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'(1.0, -1.0)') - assert_equal(repr(a),"Complex_Literal_Constant(Signed_Real_Literal_Constant('1.0', None), Signed_Real_Literal_Constant('-1.0', None))") - - a = cls('(3,3.1E6)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'(3, 3.1E6)') - - a = cls('(4.0_4, 3.6E7_8)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'(4.0_4, 3.6E7_8)') - - a = cls('( 0., PI)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'(0., PI)') - -class test_Char_Literal_Constant(NumpyTestCase): - - def check_char_literal_constant(self): - cls = Char_Literal_Constant - a = cls('NIH_"DO"') - assert isinstance(a,cls),`a` - assert_equal(str(a),'NIH_"DO"') - assert_equal(repr(a),'Char_Literal_Constant(\'"DO"\', \'NIH\')') - - a = cls("'DO'") - assert isinstance(a,cls),`a` - assert_equal(str(a),"'DO'") - assert_equal(repr(a),'Char_Literal_Constant("\'DO\'", None)') - - a = cls("'DON''T'") - assert isinstance(a,cls),`a` - assert_equal(str(a),"'DON''T'") - - a = cls('"DON\'T"') - assert isinstance(a,cls),`a` - assert_equal(str(a),'"DON\'T"') - - a = cls('""') - assert isinstance(a,cls),`a` - assert_equal(str(a),'""') - - a = cls("''") - assert isinstance(a,cls),`a` - assert_equal(str(a),"''") - - a = cls('"hey ha(ada)\t"') - assert isinstance(a,cls),`a` - assert_equal(str(a),'"hey ha(ada)\t"') - -class test_Logical_Literal_Constant(NumpyTestCase): - - def check_logical_literal_constant(self): - cls = Logical_Literal_Constant - a = cls('.TRUE.') - assert isinstance(a,cls),`a` - assert_equal(str(a),'.TRUE.') - assert_equal(repr(a),"%s('.TRUE.', None)" % (cls.__name__)) - - a = cls('.True.') - assert isinstance(a,cls),`a` - assert_equal(str(a),'.TRUE.') - - a = cls('.FALSE.') - assert isinstance(a,cls),`a` - assert_equal(str(a),'.FALSE.') - - a = cls('.TRUE._HA') - assert isinstance(a,cls),`a` - assert_equal(str(a),'.TRUE._HA') - -class test_Binary_Constant(NumpyTestCase): - - def check_boz_literal_constant(self): - cls = Boz_Literal_Constant - bcls = Binary_Constant - a = cls('B"01"') - assert isinstance(a,bcls),`a` - assert_equal(str(a),'B"01"') - assert_equal(repr(a),"%s('B\"01\"')" % (bcls.__name__)) - -class test_Octal_Constant(NumpyTestCase): - - def check_boz_literal_constant(self): - cls = Boz_Literal_Constant - ocls = Octal_Constant - a = cls('O"017"') - assert isinstance(a,ocls),`a` - assert_equal(str(a),'O"017"') - assert_equal(repr(a),"%s('O\"017\"')" % (ocls.__name__)) - -class test_Hex_Constant(NumpyTestCase): - - def check_boz_literal_constant(self): - cls = Boz_Literal_Constant - zcls = Hex_Constant - a = cls('Z"01A"') - assert isinstance(a,zcls),`a` - assert_equal(str(a),'Z"01A"') - assert_equal(repr(a),"%s('Z\"01A\"')" % (zcls.__name__)) - -class test_Subscript_Triplet(NumpyTestCase): - - def check_simple(self): - cls = Subscript_Triplet - a = cls('a:b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a : b') - assert_equal(repr(a),"Subscript_Triplet(Name('a'), Name('b'), None)") - - a = cls('a:b:1') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a : b : 1') - - a = cls(':') - assert isinstance(a,cls),`a` - assert_equal(str(a),':') - - a = cls('::5') - assert isinstance(a,cls),`a` - assert_equal(str(a),': : 5') - - a = cls(':5') - assert isinstance(a,cls),`a` - assert_equal(str(a),': 5') - - a = cls('a+1 :') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a + 1 :') - -class test_Section_Subscript(NumpyTestCase): - - def check_simple(self): - cls = Section_Subscript - - a = cls('1:2') - assert isinstance(a, Subscript_Triplet),`a` - assert_equal(str(a),'1 : 2') - - a = cls('zzz') - assert isinstance(a, Name),`a` - assert_equal(str(a),'zzz') - -class test_Section_Subscript_List(NumpyTestCase): - - def check_simple(self): - cls = Section_Subscript_List - a = cls('a,2') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a, 2') - assert_equal(repr(a),"Section_Subscript_List(',', (Name('a'), Int_Literal_Constant('2', None)))") - - a = cls('::1') - assert isinstance(a,Subscript_Triplet),`a` - assert_equal(str(a),': : 1') - - a = cls('::1, 3') - assert isinstance(a,cls),`a` - assert_equal(str(a),': : 1, 3') - -class test_Derived_Type_Spec(NumpyTestCase): - - def check_simple(self): - cls = Derived_Type_Spec - a = cls('a(b)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a(b)') - assert_equal(repr(a),"Derived_Type_Spec(Type_Name('a'), Name('b'))") - - a = cls('a(b,c,g=1)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a(b, c, g = 1)') - - a = cls('a') - assert isinstance(a,Name),`a` - assert_equal(str(a),'a') - - a = cls('a()') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a()') - -class test_Type_Name(NumpyTestCase): - - def check_simple(self): - cls = Type_Name - a = cls('a') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a') - assert_equal(repr(a),"Type_Name('a')") - - self.assertRaises(NoMatchError,cls,'integer') - self.assertRaises(NoMatchError,cls,'doubleprecision') - -class test_Actual_Arg_Spec(NumpyTestCase): - - def check_simple(self): - cls = Actual_Arg_Spec - a = cls('k=a') - assert isinstance(a,cls),`a` - assert_equal(str(a),'k = a') - assert_equal(repr(a),"Actual_Arg_Spec(Name('k'), '=', Name('a'))") - - a = cls('a') - assert isinstance(a,Name),`a` - assert_equal(str(a),'a') - -class test_Actual_Arg_Spec_List(NumpyTestCase): - - def check_simple(self): - cls = Actual_Arg_Spec_List - a = cls('a,b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a, b') - assert_equal(repr(a),"Actual_Arg_Spec_List(',', (Name('a'), Name('b')))") - - a = cls('a = k') - assert isinstance(a,Actual_Arg_Spec),`a` - assert_equal(str(a),'a = k') - - a = cls('a = k,b') - assert isinstance(a,Actual_Arg_Spec_List),`a` - assert_equal(str(a),'a = k, b') - - a = cls('a') - assert isinstance(a,Name),`a` - assert_equal(str(a),'a') - -class test_Component_Spec(NumpyTestCase): - - def check_simple(self): - cls = Component_Spec - a = cls('k=a') - assert isinstance(a,cls),`a` - assert_equal(str(a),'k = a') - assert_equal(repr(a),"Component_Spec(Name('k'), '=', Name('a'))") - - a = cls('a') - assert isinstance(a,Name),`a` - assert_equal(str(a),'a') - - a = cls('a % b') - assert isinstance(a, Proc_Component_Ref),`a` - assert_equal(str(a),'a % b') - - a = cls('s =a % b') - assert isinstance(a, Component_Spec),`a` - assert_equal(str(a),'s = a % b') - -class test_Component_Spec_List(NumpyTestCase): - - def check_simple(self): - cls = Component_Spec_List - a = cls('k=a, b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'k = a, b') - assert_equal(repr(a),"Component_Spec_List(',', (Component_Spec(Name('k'), '=', Name('a')), Name('b')))") - - a = cls('k=a, c') - assert isinstance(a,cls),`a` - assert_equal(str(a),'k = a, c') - -class test_Structure_Constructor_2(NumpyTestCase): - - def check_simple(self): - cls = Structure_Constructor_2 - a = cls('k=a') - assert isinstance(a,cls),`a` - assert_equal(str(a),'k = a') - assert_equal(repr(a),"Structure_Constructor_2(Name('k'), '=', Name('a'))") - - a = cls('a') - assert isinstance(a,Name),`a` - assert_equal(str(a),'a') - -class test_Array_Constructor(NumpyTestCase): - - def check_simple(self): - cls = Array_Constructor - a = cls('(/a/)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'(/a/)') - assert_equal(repr(a),"Array_Constructor('(/', Name('a'), '/)')") - - a = cls('[a]') - assert isinstance(a,cls),`a` - assert_equal(str(a),'[a]') - assert_equal(repr(a),"Array_Constructor('[', Name('a'), ']')") - - a = cls('[integer::a]') - assert isinstance(a,cls),`a` - assert_equal(str(a),'[INTEGER :: a]') - - a = cls('[integer::a,b]') - assert isinstance(a,cls),`a` - assert_equal(str(a),'[INTEGER :: a, b]') - -class test_Parenthesis(NumpyTestCase): - - def check_simple(self): - cls = Parenthesis - a = cls('(a)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'(a)') - assert_equal(repr(a),"Parenthesis('(', Name('a'), ')')") - - a = cls('(a+1)') - assert isinstance(a,cls),`a` - assert_equal(str(a),'(a + 1)') - - a = cls('((a))') - assert isinstance(a,cls),`a` - assert_equal(str(a),'((a))') - - a = cls('(a+(a+c))') - assert isinstance(a,cls),`a` - assert_equal(str(a),'(a + (a + c))') - -class test_Level_1_Expr(NumpyTestCase): - - def check_simple(self): - cls = Level_1_Expr - a = cls('.hey. a') - assert isinstance(a,cls),`a` - assert_equal(str(a),'.HEY. a') - assert_equal(repr(a),"Level_1_Expr('.HEY.', Name('a'))") - - self.assertRaises(NoMatchError,cls,'.not. a') - -class test_Level_2_Expr(NumpyTestCase): - - def check_simple(self): - cls = Level_2_Expr - a = cls('a+b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a + b') - assert_equal(repr(a),"Level_2_Expr(Name('a'), '+', Name('b'))") - - a = cls('a-b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a - b') - - a = cls('a+b+c') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a + b + c') - - a = cls('+a') - assert isinstance(a,Level_2_Unary_Expr),`a` - assert_equal(str(a),'+ a') - - a = cls('+1') - assert isinstance(a,Level_2_Unary_Expr),`a` - assert_equal(str(a),'+ 1') - - a = cls('+a+b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'+ a + b') - -class test_Level_2_Unary_Expr(NumpyTestCase): - - def check_simple(self): - cls = Level_2_Unary_Expr - a = cls('+a') - assert isinstance(a,cls),`a` - assert_equal(str(a),'+ a') - assert_equal(repr(a),"Level_2_Unary_Expr('+', Name('a'))") - - a = cls('-a') - assert isinstance(a,cls),`a` - assert_equal(str(a),'- a') - - a = cls('+1') - assert isinstance(a,cls),`a` - assert_equal(str(a),'+ 1') - -class test_Level_3_Expr(NumpyTestCase): - - def check_simple(self): - cls = Level_3_Expr - a = cls('a//b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a // b') - assert_equal(repr(a),"Level_3_Expr(Name('a'), '//', Name('b'))") - - a = cls('"a"//"b"') - assert isinstance(a,cls),`a` - assert_equal(str(a),'"a" // "b"') - -class test_Level_4_Expr(NumpyTestCase): - - def check_simple(self): - cls = Level_4_Expr - a = cls('a.eq.b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a .EQ. b') - assert_equal(repr(a),"Level_4_Expr(Name('a'), '.EQ.', Name('b'))") - - a = cls('a.ne.b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a .NE. b') - - a = cls('a.lt.b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a .LT. b') - - a = cls('a.gt.b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a .GT. b') - - a = cls('a.ge.b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a .GE. b') - - a = cls('a==b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a == b') - - a = cls('a/=b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a /= b') - - a = cls('a<b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a < b') - - a = cls('a<=b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a <= b') - - a = cls('a>=b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a >= b') - - a = cls('a>b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a > b') - -class test_Level_5_Expr(NumpyTestCase): - - def check_simple(self): - cls = Level_5_Expr - a = cls('a.eqv.b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a .EQV. b') - assert_equal(repr(a),"Level_5_Expr(Name('a'), '.EQV.', Name('b'))") - - a = cls('a.neqv.b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a .NEQV. b') - - a = cls('a.eq.b') - assert isinstance(a,Level_4_Expr),`a` - assert_equal(str(a),'a .EQ. b') - -class test_Mult_Operand(NumpyTestCase): - - def check_simple(self): - cls = Mult_Operand - a = cls('a**b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a ** b') - assert_equal(repr(a),"Mult_Operand(Name('a'), '**', Name('b'))") - -class test_Add_Operand(NumpyTestCase): - - def check_simple(self): - cls = Add_Operand - a = cls('a*b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a * b') - assert_equal(repr(a),"Add_Operand(Name('a'), '*', Name('b'))") - - a = cls('a/b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a / b') - -class test_Equiv_Operand(NumpyTestCase): - - def check_simple(self): - cls = Equiv_Operand - a = cls('a.or.b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a .OR. b') - assert_equal(repr(a),"Equiv_Operand(Name('a'), '.OR.', Name('b'))") - -class test_Or_Operand(NumpyTestCase): - - def check_simple(self): - cls = Or_Operand - a = cls('a.and.b') - assert isinstance(a,cls),`a` - assert_equal(str(a),'a .AND. b') - assert_equal(repr(a),"Or_Operand(Name('a'), '.AND.', Name('b'))") - -class test_And_Operand(NumpyTestCase): - - def check_simple(self): - cls = And_Operand - a = cls('.not.a') - assert isinstance(a,cls),`a` - assert_equal(str(a),'.NOT. a') - assert_equal(repr(a),"And_Operand('.NOT.', Name('a'))") - -class test_Primary(NumpyTestCase): - - def check_simple(self): - cls = Primary - a = cls('a') - assert isinstance(a,Name),`a` - assert_equal(str(a),'a') - - a = cls('(a)') - assert isinstance(a,Parenthesis),`a` - assert_equal(str(a),'(a)') - - a = cls('1') - assert isinstance(a,Int_Literal_Constant),`a` - assert_equal(str(a),'1') - - a = cls('1.') - assert isinstance(a,Real_Literal_Constant),`a` - assert_equal(str(a),'1.') - - a = cls('(1, n)') - assert isinstance(a,Complex_Literal_Constant),`a` - assert_equal(str(a),'(1, n)') - - a = cls('.true.') - assert isinstance(a,Logical_Literal_Constant),`a` - assert_equal(str(a),'.TRUE.') - - a = cls('"hey a()c"') - assert isinstance(a,Char_Literal_Constant),`a` - assert_equal(str(a),'"hey a()c"') - - a = cls('b"0101"') - assert isinstance(a,Binary_Constant),`a` - assert_equal(str(a),'B"0101"') - - a = cls('o"0107"') - assert isinstance(a,Octal_Constant),`a` - assert_equal(str(a),'O"0107"') - - a = cls('z"a107"') - assert isinstance(a,Hex_Constant),`a` - assert_equal(str(a),'Z"A107"') - - a = cls('a % b') - assert isinstance(a,Data_Ref),`a` - assert_equal(str(a),'a % b') - - a = cls('a(:)') - assert isinstance(a,Array_Section),`a` - assert_equal(str(a),'a(:)') - - - -if __name__ == "__main__": - NumpyTest().run() |