1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
package Math::GSL::NTuple::Test;
use base q{Test::Class};
use Test::Most;
use Test::Exception;
use Math::GSL::NTuple qw/:all/;
use Math::GSL::Const qw/:all/;
use Math::GSL::Errno qw/:all/;
use Math::GSL::Test qw/:all/;
use Data::Dumper;
use strict;
BEGIN{ gsl_set_error_handler_off(); }
END { warn "This is the end" }
sub make_fixture : Test(setup) {
my $self = shift;
my $size = 2 + int rand(10);
$self->{size} = $size;
my $stuff = [1..$size];
my ($ntuple) = gsl_ntuple_create('ntuple', $stuff ,$size);
$self->{ntuple} = $ntuple;
gsl_ntuple_write($self->{ntuple});
gsl_ntuple_close($self->{ntuple});
}
sub teardown : Test(teardown) {
unlink 'ntuple' if -f 'ntuple';
}
sub GSL_NTUPLE_CREATE : Tests(2) {
my $self = shift;
isa_ok ($self->{ntuple}, 'Math::GSL::NTuple::gsl_ntuple');
ok( -e 'ntuple', 'ntuple file created');
}
sub GSL_NTUPLE_OPEN_CLOSE : Tests(2) {
my $self = shift;
my $stuff = [];
my $ntuple = gsl_ntuple_open('ntuple',$stuff, $self->{size} );
isa_ok($ntuple,'Math::GSL::NTuple');
ok_status(gsl_ntuple_close($ntuple));
}
sub GSL_NTUPLE_WRITE: Tests(2) {
my $self = shift;
my $data = [1..255];
my $base = gsl_ntuple_create('ntuple', $data, 255);
ok_status(gsl_ntuple_write($base));
ok_status(gsl_ntuple_close($base));
}
sub GSL_NTUPLE_READ: Tests(2) {
my $self = shift;
my $data = [ (42) x $self->{size} ];
my $ntuple = Math::GSL::NTuple::gsl_ntuple->new;
$ntuple = gsl_ntuple_open('ntuple', $data, $self->{size} );
ok_status(gsl_ntuple_read($ntuple));
my $cdata = $ntuple->swig_ntuple_data_get ;
# warn Dumper [ $data, $cdata ];
ok_status(gsl_ntuple_close($ntuple));
}
sub GSL_NTUPLE_GSL_NTUPLE: Tests(1) {
my $ntuple = Math::GSL::NTuple::gsl_ntuple->new;
isa_ok($ntuple,'Math::GSL::NTuple::gsl_ntuple');
}
sub GSL_NTUPLE_OBJECT: Tests(2) {
my $ntuple = Math::GSL::NTuple->new;
isa_ok($ntuple,'Math::GSL::NTuple');
isa_ok($ntuple->raw,'Math::GSL::NTuple::gsl_ntuple');
}
Test::Class->runtests;
|