[Python-modules-commits] [fparser] 04/05: Test: Contiguous_Stmt
Alastair McKinstry
mckinstry at moszumanska.debian.org
Fri Jul 28 10:45:44 UTC 2017
This is an automated email from the git hooks/post-receive script.
mckinstry pushed a commit to branch dev-f2015
in repository fparser.
commit f46619ef89c0ed7331fdf4d492b7ba90523f2e23
Author: Alastair McKinstry <mckinstry at debian.org>
Date: Wed Jul 26 16:27:04 2017 +0100
Test: Contiguous_Stmt
---
src/fparser/Fortran2015.py | 10 +
src/fparser/tests/test_Fortran2003.py | 3625 ---------------------------------
src/fparser/tests/test_Fortran2015.py | 3563 +++++++++++++++++++++++++++++++-
3 files changed, 3555 insertions(+), 3643 deletions(-)
diff --git a/src/fparser/Fortran2015.py b/src/fparser/Fortran2015.py
index 4326898..0694757 100644
--- a/src/fparser/Fortran2015.py
+++ b/src/fparser/Fortran2015.py
@@ -2947,6 +2947,16 @@ class Dimension_Stmt(StmtBase): # R535
def tostr(self):
return 'DIMENSION :: ' + ', '.join(['%s(%s)' % ns for ns in self.items[0]])
+class Contiguous_Stmt(StmtBase): #R536
+ """
+ <contiguous-stmt> = CONTIGUOUS [ :: ] <object-name-list>
+ """
+ subclass_names = []
+ use_names = [ 'Object_Name_list' ]
+ def match(string): return WORDClsBase.match('CONTIGUOUS',Pointer_Decl_List,string,check_colons=True, require_cls=True)
+ tostr = WORDClsBase.toStr_a
+ match = staticmethod(match)
+
class Intent_Stmt(StmtBase): # R536
"""
<intent-stmt> = INTENT ( <intent-spec> ) [ :: ] <dummy-arg-name-list>
diff --git a/src/fparser/tests/test_Fortran2003.py b/src/fparser/tests/test_Fortran2003.py
deleted file mode 100644
index dab0cf8..0000000
--- a/src/fparser/tests/test_Fortran2003.py
+++ /dev/null
@@ -1,3625 +0,0 @@
-# Modified work Copyright (c) 2017 Science and Technology Facilities Council
-# Original work Copyright (c) 1999-2008 Pearu Peterson
-
-# All rights reserved.
-
-# Modifications made as part of the fparser project are distributed
-# under the following license:
-
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-
-# 3. Neither the name of the copyright holder nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# --------------------------------------------------------------------
-
-# The original software (in the f2py project) was distributed under
-# the following license:
-
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-
-# a. Redistributions of source code must retain the above copyright notice,
-# this list of conditions and the following disclaimer.
-# b. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# c. Neither the name of the F2PY project nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
-# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-# DAMAGE.
-
-from fparser.Fortran2015 import *
-from fparser.api import get_reader
-
-from nose.tools import assert_equal
-import pytest
-
-def assertRaises(exc, cls, s):
- try:
- cls(s)
- raise AssertionError('Expected %s but got nothing' % exc)
- except exc:
- pass
-
-
-###############################################################################
-############################### SECTION 2 ####################################
-###############################################################################
-
-def test_Program(): # R201
-
- cls = Program
- reader = get_reader('''\
- subroutine foo
- end subroutine Foo
- subroutine bar
- end
- ''')
- a = cls(reader)
- assert isinstance(a, cls),`a`
- assert "SUBROUTINE foo\nEND SUBROUTINE Foo\nSUBROUTINE bar\n" \
- "END SUBROUTINE bar" == str(a)
-
- reader = get_reader('''\
- subroutine foo (*)
- end subroutine foo
- ''')
- a = cls(reader)
- assert isinstance(a, cls),`a`
- assert_equal(str(a), 'SUBROUTINE foo(*)\nEND SUBROUTINE foo')
-
-def test_Specification_Part(): # R204
-
- reader = get_reader('''\
- integer a''')
- cls = Specification_Part
- a = cls(reader)
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'INTEGER :: a')
- assert_equal(repr(a), "Specification_Part(Type_Declaration_Stmt(Intrinsic_Type_Spec('INTEGER', None), None, Entity_Decl(Name('a'), None, None, None)))")
-
- a = cls(get_reader('''
-type a
-end type a
-type b
-end type b
- '''))
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'TYPE :: a\nEND TYPE a\nTYPE :: b\nEND TYPE b')
-
-###############################################################################
-############################### SECTION 3 ####################################
-###############################################################################
-
-def test_Name(): # R304
-
- 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`
-
-def test_Literal_Constant(): # R305
-
- cls = Constant
- a = cls('.false.')
- assert isinstance(a, Logical_Literal_Constant), `a`
- assert str(a)=='.FALSE.'
-
-def test_Literal_Constant(): # R306
-
- cls = Literal_Constant
- a = cls('.false.')
- assert isinstance(a, Logical_Literal_Constant), `a`
- assert str(a)=='.FALSE.'
-
-###############################################################################
-############################### SECTION 4 ####################################
-###############################################################################
-
-def test_Type_Param_Value(): # 402
-
- 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')
-
-def test_Intrinsic_Type_Spec(): # R403
-
- 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')
-
-def test_Kind_Selector(): # R404
-
- 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')
-
-def test_Signed_Int_Literal_Constant(): # R405
-
- 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')
-
-def test_Int_Literal_Constant(): # R406
-
- 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')
-
-def test_Binary_Constant(): # R412
-
- 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__))
-
-def test_Octal_Constant(): # R413
-
- 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__))
-
-def test_Hex_Constant(): # R414
-
- 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__))
-
-def test_Signed_Real_Literal_Constant(): # R416
-
- 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')
-
-def test_Real_Literal_Constant(): # R417
-
- 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')
-
- a = cls('0.0D+0')
- assert isinstance(a,cls),`a`
- assert_equal(str(a),'0.0D+0')
-
-def test_Char_Selector(): # R424
-
- 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)')
-
-def test_Complex_Literal_Constant(): # R421
-
- 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)')
-
-
-def test_Type_Name(): # C424
-
- cls = Type_Name
- a = cls('a')
- assert isinstance(a,cls),`a`
- assert_equal(str(a),'a')
- assert_equal(repr(a),"Type_Name('a')")
-
- assertRaises(NoMatchError,cls,'integer')
- assertRaises(NoMatchError,cls,'doubleprecision')
-
-def test_Length_Selector(): # R425
-
- 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')
-
-def test_Char_Length(): # R426
-
- 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),'(:)')
-
-def test_Char_Literal_Constant(): # R427
-
- 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"')
-
-def test_Logical_Literal_Constant(): # R428
-
- 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('.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')
-
-def test_Derived_Type_Stmt(): # R430
-
- cls = Derived_Type_Stmt
- a = cls('type a')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'TYPE :: a')
- assert_equal(repr(a),"Derived_Type_Stmt(None, Type_Name('a'), None)")
-
- a = cls('type ::a(b,c)')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'TYPE :: a(b, c)')
-
- a = cls('type, private, abstract::a(b,c)')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'TYPE, PRIVATE, ABSTRACT :: a(b, c)')
-
-def test_Type_Name(): # C423
-
- cls = Type_Name
- a = cls('a')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'a')
- assert_equal(repr(a),"Type_Name('a')")
-
-def test_Type_Attr_Spec(): # R431
-
- cls = Type_Attr_Spec
- a = cls('abstract')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'ABSTRACT')
- assert_equal(repr(a),"Type_Attr_Spec('ABSTRACT', None)")
-
- a = cls('bind (c )')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'BIND(C)')
-
- a = cls('extends(a)')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'EXTENDS(a)')
-
- a = cls('private')
- assert isinstance(a, Access_Spec),`a`
- assert_equal(str(a),'PRIVATE')
-
-
-def test_End_Type_Stmt(): # R433
-
- cls = End_Type_Stmt
- a = cls('end type')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'END TYPE')
- assert_equal(repr(a),"End_Type_Stmt('TYPE', None)")
-
- a = cls('end type a')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'END TYPE a')
-
-def test_Sequence_Stmt(): # R434
-
- cls = Sequence_Stmt
- a = cls('sequence')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'SEQUENCE')
- assert_equal(repr(a),"Sequence_Stmt('SEQUENCE')")
-
-def test_Type_Param_Def_Stmt(): # R435
-
- cls = Type_Param_Def_Stmt
- a = cls('integer ,kind :: a')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'INTEGER, KIND :: a')
- assert_equal(repr(a),"Type_Param_Def_Stmt(None, Type_Param_Attr_Spec('KIND'), Name('a'))")
-
- a = cls('integer*2 ,len :: a=3, b=2+c')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'INTEGER*2, LEN :: a = 3, b = 2 + c')
-
-def test_Type_Param_Decl(): # R436
-
- cls = Type_Param_Decl
- a = cls('a=2')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'a = 2')
- assert_equal(repr(a),"Type_Param_Decl(Name('a'), '=', Int_Literal_Constant('2', None))")
-
- a = cls('a')
- assert isinstance(a, Name),`a`
- assert_equal(str(a),'a')
-
-def test_Type_Param_Attr_Spec(): # R437
-
- cls = Type_Param_Attr_Spec
- a = cls('kind')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'KIND')
- assert_equal(repr(a),"Type_Param_Attr_Spec('KIND')")
-
- a = cls('len')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'LEN')
-
-def test_Component_Attr_Spec(): # R441
-
- cls = Component_Attr_Spec
- a = cls('pointer')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'POINTER')
- assert_equal(repr(a),"Component_Attr_Spec('POINTER')")
-
- a = cls('allocatable')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'ALLOCATABLE')
-
- a = cls('dimension(a)')
- assert isinstance(a, Dimension_Component_Attr_Spec),`a`
- assert_equal(str(a),'DIMENSION(a)')
-
- a = cls('private')
- assert isinstance(a, Access_Spec),`a`
- assert_equal(str(a),'PRIVATE')
-
-def test_Component_Decl(): # R442
-
- cls = Component_Decl
- a = cls('a(1)')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'a(1)')
- assert_equal(repr(a),"Component_Decl(Name('a'), Explicit_Shape_Spec(None, Int_Literal_Constant('1', None)), None, None)")
-
- a = cls('a(1)*(3)')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'a(1)*(3)')
-
- a = cls('a(1)*(3) = 2')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'a(1)*(3) = 2')
-
- a = cls('a(1) => NULL')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'a(1) => NULL')
-
-def test_Proc_Component_Def_Stmt(): # R445
- cls = Proc_Component_Def_Stmt
- a = cls('procedure(), pointer :: a')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'PROCEDURE(), POINTER :: a')
-
- a = cls('procedure(real*8), pointer, pass(n) :: a, b')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'PROCEDURE(REAL*8), POINTER, PASS(n) :: a, b')
-
-def test_Type_Bound_Procedure_Part(): # R448
- cls = Type_Bound_Procedure_Part
- a = cls(get_reader('''
-contains
-procedure, pass :: length => point_length
- '''))
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'CONTAINS\nPROCEDURE, PASS :: length => point_length')
-
-def test_Proc_Binding_Stmt(): # R450
- cls = Proc_Binding_Stmt
- a = cls('procedure, pass :: length => point_length')
- assert isinstance(a, Specific_Binding),`a`
- assert_equal(str(a),'PROCEDURE, PASS :: length => point_length')
-
-def test_Specific_Binding(): # R451
- cls = Specific_Binding
- a = cls('procedure, pass :: length => point_length')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'PROCEDURE, PASS :: length => point_length')
-
-def test_Generic_Binding(): # R452
- cls = Generic_Binding
- a = cls('generic :: a => b')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'GENERIC :: a => b')
-
- a = cls('generic, private :: read(formatted) => b,c')
- assert isinstance(a, cls),`a`
- assert_equal(str(a),'GENERIC, PRIVATE :: READ(FORMATTED) => b, c')
-
-def test_Final_Binding(): # R454
-
- cls = Final_Binding
- a = cls('final a, b')
- assert isinstance(a,cls),`a`
- assert_equal(str(a),'FINAL :: a, b')
- assert_equal(repr(a),"Final_Binding('FINAL', Final_Subroutine_Name_List(',', (Name('a'), Name('b'))))")
-
- a = cls('final::a')
- assert isinstance(a,cls),`a`
- assert_equal(str(a),'FINAL :: a')
-
-def test_Derived_Type_Spec(): # R455
-
- 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()')
-
-def test_Type_Param_Spec(): # R456
-
- 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 = :')
-
-def test_Type_Param_Spec_List(): # R456-list
-
- 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')
-
-def test_Structure_Constructor_2(): # R457.b
-
- 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')
-
-def test_Structure_Constructor(): # R457
-
- 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')
-
-def test_Component_Spec(): # R458
-
- 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')
-
-def test_Component_Spec_List(): # R458-list
-
- 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')
-
-def test_Enum_Def(): # R460
- cls = Enum_Def
- a = cls(get_reader('''
-enum, bind(c)
-enumerator :: red = 4, blue = 9
-enumerator yellow
-end enum
- '''))
- assert isinstance(a,cls),`a`
- assert_equal(str(a),'ENUM, BIND(C)\n ENUMERATOR :: red = 4, blue = 9\n ENUMERATOR :: yellow\nEND ENUM')
-
-def test_Enum_Def_Stmt(): # R461
- cls = Enum_Def_Stmt
- a = cls('enum, bind(c)')
- assert isinstance(a,cls),`a`
- assert_equal(str(a),'ENUM, BIND(C)')
-
-def test_Array_Constructor(): # R465
-
- 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]')
-
-def test_Ac_Spec(): # R466
-
- 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)')
-
-def test_Ac_Value_List(): # R469-list
-
- 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')
-
-def test_Ac_Implied_Do(): # R470
-
- 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)]))")
-
-def test_Ac_Implied_Do_Control(): # R471
-
- 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)])")
-
... 6255 lines suppressed ...
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/fparser.git
More information about the Python-modules-commits
mailing list