25TYPE(csv_record) :: csv_writer, csv_reader
26CHARACTER(len=80) :: charbuf, ccheck
27INTEGER :: nfield, ier, icheck, clen
29DOUBLE PRECISION :: dcheck
32print*,
'=== Testing file_utilities module ==='
34print*,
'Checking csv_record writing'
41print*,
'Checking csv_record_getrecord'
42charbuf = csv_record_getrecord(csv_writer)
43IF (charbuf /=
'45,,Berlusconi mafioso," a''nvedi ""er pecora""",')
THEN
44 print*,
'charbuf:',trim(charbuf)
49print*,
'Checking csv_record reading'
50charbuf =
'45, 897.4,903.1 ,,Berlusconi mafioso," a''nvedi ""er pecora""",'
51CALL init(csv_reader, charbuf, nfield=nfield)
52print*,
'Checking nfield with a missing at the end'
54 print*,
'nfield:',nfield
58print*,
'Checking csv_record_getfield integer'
61 print*,
'Error code:',ier
65 print*,
'icheck:',icheck
69print*,
'Checking csv_record_getfield real'
72 print*,
'Error code:',ier
75IF (abs(rcheck-897.4) > .1)
THEN
76 print*,
'rcheck:',rcheck
81 print*,
'Error code:',ier
84IF (abs(dcheck-903.1) > .1)
THEN
85 print*,
'dcheck:',dcheck
89print*,
'Checking csv_record_getfield missing integer'
92 print*,
'Error code:',ier
96 print*,
'icheck:',icheck
100print*,
'Checking csv_record_getfield simple character'
103 print*,
'Error code:',ier
106IF (ccheck(1:clen) /=
'Berlusconi mafioso')
THEN
107 print*,
'ccheck:',ccheck(1:clen)
111print*,
'Checking csv_record_getfield quoted character'
114 print*,
'Error code:',ier
117IF (ccheck(1:clen) /=
' a''nvedi "er pecora"')
THEN
118 print*,
'ccheck:',ccheck(1:clen)
122print*,
'Checking csv_record_getfield empty character'
125 print*,
'Error code:',ier
128IF (ccheck /=
'')
THEN
129 print*,
'ccheck:',ccheck(1:clen)
135charbuf(len_trim(charbuf)-1:) =
' '
136CALL init(csv_reader, charbuf, nfield=nfield)
137print*,
'Checking nfield'
139 print*,
'nfield:',nfield
143print*,
'Checking csv_record_getfield with empty charbuf'
145CALL init(csv_reader, charbuf, nfield=nfield)
146print*,
'Checking nfield'
148 print*,
'nfield:',nfield
154 print*,
'Error code:',ier
157IF (ccheck /=
'')
THEN
158 print*,
'ccheck:',ccheck(1:clen)
164print*,
'Checking csv_record_getfield with one empty, quoted record'
166CALL init(csv_reader, charbuf, nfield=nfield)
167print*,
'Checking nfield'
169 print*,
'nfield:',nfield
175 print*,
'Error code:',ier
178IF (ccheck /=
'')
THEN
179 print*,
'ccheck:',ccheck(1:clen)
Methods for successively adding fields to a csv_record object.
Methods for successively adding fields to a csv_record object.
Methods for successively obtaining the fields of a csv_record object.
Destructor for the class csv_record.
Constructor for the class csv_record.
Utilities for managing files.
Definition of constants to be used for declaring variables of a desired type.