25 TYPE(csv_record) :: csv_writer, csv_reader
26 CHARACTER(len=80) :: charbuf, ccheck
27 INTEGER :: nfield, ier, icheck, clen
29 DOUBLE PRECISION :: dcheck
32 print*,
'=== Testing file_utilities module ==='
34 print*,
'Checking csv_record writing'
41 print*,
'Checking csv_record_getrecord'
42 charbuf = csv_record_getrecord(csv_writer)
43 IF (charbuf /=
'45,,Berlusconi mafioso," a''nvedi ""er pecora""",')
THEN
44 print*,
'charbuf:',trim(charbuf)
49 print*,
'Checking csv_record reading'
50 charbuf =
'45, 897.4,903.1 ,,Berlusconi mafioso," a''nvedi ""er pecora""",'
51 CALL init(csv_reader, charbuf, nfield=nfield)
52 print*,
'Checking nfield with a missing at the end'
54 print*,
'nfield:',nfield
58 print*,
'Checking csv_record_getfield integer'
61 print*,
'Error code:',ier
64 IF (icheck /= 45)
THEN
65 print*,
'icheck:',icheck
69 print*,
'Checking csv_record_getfield real'
72 print*,
'Error code:',ier
75 IF (abs(rcheck-897.4) > .1)
THEN
76 print*,
'rcheck:',rcheck
81 print*,
'Error code:',ier
84 IF (abs(dcheck-903.1) > .1)
THEN
85 print*,
'dcheck:',dcheck
89 print*,
'Checking csv_record_getfield missing integer'
92 print*,
'Error code:',ier
96 print*,
'icheck:',icheck
100 print*,
'Checking csv_record_getfield simple character'
103 print*,
'Error code:',ier
106 IF (ccheck(1:clen) /=
'Berlusconi mafioso')
THEN
107 print*,
'ccheck:',ccheck(1:clen)
111 print*,
'Checking csv_record_getfield quoted character'
114 print*,
'Error code:',ier
117 IF (ccheck(1:clen) /=
' a''nvedi "er pecora"')
THEN
118 print*,
'ccheck:',ccheck(1:clen)
122 print*,
'Checking csv_record_getfield empty character'
125 print*,
'Error code:',ier
128 IF (ccheck /=
'')
THEN
129 print*,
'ccheck:',ccheck(1:clen)
135 charbuf(len_trim(charbuf)-1:) =
' '
136 CALL init(csv_reader, charbuf, nfield=nfield)
137 print*,
'Checking nfield'
138 IF (nfield /= 6)
THEN
139 print*,
'nfield:',nfield
143 print*,
'Checking csv_record_getfield with empty charbuf'
145 CALL init(csv_reader, charbuf, nfield=nfield)
146 print*,
'Checking nfield'
147 IF (nfield /= 1)
THEN
148 print*,
'nfield:',nfield
154 print*,
'Error code:',ier
157 IF (ccheck /=
'')
THEN
158 print*,
'ccheck:',ccheck(1:clen)
164 print*,
'Checking csv_record_getfield with one empty, quoted record'
166 CALL init(csv_reader, charbuf, nfield=nfield)
167 print*,
'Checking nfield'
168 IF (nfield /= 1)
THEN
169 print*,
'nfield:',nfield
175 print*,
'Error code:',ier
178 IF (ccheck /=
'')
THEN
179 print*,
'ccheck:',ccheck(1:clen)
185 END PROGRAM file_test
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.