#!/usr/bin/perl -w
# -*-mode:cperl-*-
# Name: 06_double_complex.t
# Author: wd (Wolfgang.Dobler@kis.uni-freiburg.de)
# Date: 12-May-2005
# Description:
# Part of test suite for Namelist module
use strict;
use Test::More tests => 7;
use Fortran::F90Namelist;
# 1.
my $nl = Fortran::F90Namelist->new();
isa_ok($nl, 'Fortran::F90Namelist');
## Scalar integers
$nl->parse("&nlist1\nz1=(7.34D0,5.98D1)\nz2=(9D+2,5D-3)\n/");
my $hashref1 =
{
'z1' => {
'value' => [ '(7.34D0,5.98D1)' ],
'stype' => 'double precision complex number', 'type' => 9
},
'z2' => {
'value' => [ '(9D+2,5D-3)' ],
'stype' => 'double precision complex number', 'type' => 9
}
};
# 2.
is( $nl->name, "nlist1", "name");
# 3.
is( $nl->nslots, 2, "nslots");
# 4.
is_deeply($nl->hash, $hashref1, "data");
## Integer arrays, multiplier syntax, interspersed comments
$nl->parse("
!test namelist
&nlist_2
zz1= (7.1D0,0D-2),(8.2D+3,1D3),(-8.2D-3,-1D-3) ! array
zz2 =3*(-12.D3,5D+2)
!The end
/");
my $hashref2 =
{
'zz1' => {
'value' => [ '(7.1D0,0D-2)', '(8.2D+3,1D3)', '(-8.2D-3,-1D-3)' ],
'stype' => 'double precision complex number', 'type' => 9
},
'zz2' => {
'value' => [ '(-12.D3,5D+2)', '(-12.D3,5D+2)', '(-12.D3,5D+2)' ],
'stype' => 'double precision complex number', 'type' => 9
}
};
# 5.
is( $nl->name, "nlist_2", "name");
# 6.
is( $nl->nslots, 2, "nslots");
# 7.
is_deeply($nl->hash, $hashref2, "data");
# End of file 06_double_complex.t