blob: 51c813403a62bb65d67204f229793f0a52eeb3fc [file] [log] [blame]
#!/usr/bin/perl
use strict;
use warnings;
use Test::More tests => 34;
BEGIN { use_ok('li_carrays') }
require_ok('li_carrays');
# array_class
{
my $length = 5;
my $xyArray = new li_carrays::XYArray($length);
for (my $i=0; $i<$length; $i++) {
my $xy = $xyArray->getitem($i);
$xy->{x} = $i*10;
$xy->{y} = $i*100;
$xyArray->setitem($i, $xy);
}
for (my $i=0; $i<$length; $i++) {
is($xyArray->getitem($i)->{x}, $i*10);
is($xyArray->getitem($i)->{y}, $i*100);
}
}
{
# global array variable
my $length = 3;
my $xyArrayPointer = $li_carrays::globalXYArray;
my $xyArray = li_carrays::XYArray::frompointer($xyArrayPointer);
for (my $i=0; $i<$length; $i++) {
my $xy = $xyArray->getitem($i);
$xy->{x} = $i*10;
$xy->{y} = $i*100;
$xyArray->setitem($i, $xy);
}
for (my $i=0; $i<$length; $i++) {
is($xyArray->getitem($i)->{x}, $i*10);
is($xyArray->getitem($i)->{y}, $i*100);
}
}
# array_functions
{
my $length = 5;
my $abArray = li_carrays::new_ABArray($length);
for (my $i=0; $i<$length; $i++) {
my $ab = li_carrays::ABArray_getitem($abArray, $i);
$ab->{a} = $i*10;
$ab->{b} = $i*100;
li_carrays::ABArray_setitem($abArray, $i, $ab);
}
for (my $i=0; $i<$length; $i++) {
is(li_carrays::ABArray_getitem($abArray, $i)->{a}, $i*10);
is(li_carrays::ABArray_getitem($abArray, $i)->{b}, $i*100);
}
li_carrays::delete_ABArray($abArray);
}
{
# global array variable
my $length = 3;
my $abArray = $li_carrays::globalABArray;
for (my $i=0; $i<$length; $i++) {
my $ab = li_carrays::ABArray_getitem($abArray, $i);
$ab->{a} = $i*10;
$ab->{b} = $i*100;
li_carrays::ABArray_setitem($abArray, $i, $ab);
}
for (my $i=0; $i<$length; $i++) {
is(li_carrays::ABArray_getitem($abArray, $i)->{a}, $i*10);
is(li_carrays::ABArray_getitem($abArray, $i)->{b}, $i*100);
}
}