The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl -w
# -*-mode:cperl-*-

# Name:   02_integer.t
# Author: wd (Wolfgang.Dobler@kis.uni-freiburg.de)
# Date:   06-Feb-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\nl=7\nm=9,n=-17\n/");
my $hashref1 =
  {
   'l' => {
	   'value' => [ '7' ],
	   'stype' => 'integer', 'type' => 4
	  },
   'm' => {
	   'value' => [ '9' ],
	   'stype' => 'integer', 'type' => 4
	  },
   'n' => {
	   'value' => [ '-17' ],
	   'stype' => 'integer', 'type' => 4
	  }
  };

# 2.
is(       $nl->name,   "nlist1", "name");

# 3.
is(       $nl->nslots, 3,        "nslots");

# 4.
is_deeply($nl->hash,   $hashref1, "data");


## Integer arrays, multiplier syntax, interspersed comments
$nl->parse("
!test namelist
&nlist_2
ll=7,8,9 ! array
  mm=-10,-5,0,5,10,! another array
nn=4*-12
!The end
/");
my $hashref2 =
  {
   'll' => {
	    'value' => [ '7', '8', '9' ],
	    'stype' => 'integer', 'type' => 4
	   },
   'mm' => {
	    'value' => [ '-10', '-5', '0', '5', '10' ],
	    'stype' => 'integer', 'type' => 4
	   },
   'nn' => {
	    'value' => [ '-12', '-12', '-12', '-12' ],
	    'stype' => 'integer', 'type' => 4
	   }
  };

# 5.
is(       $nl->name,   "nlist_2", "name");

# 6.
is(       $nl->nslots, 3,         "nslots");

# 7.
is_deeply($nl->hash,   $hashref2, "data");


# End of file 02_integer.t