package Math::GSL::Sys::Test;
use base q{Test::Class};
use Test::More tests => 17;
use Math::GSL::Sys 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() }
sub make_fixture : Test(setup) {
}
sub teardown : Test(teardown) {
}
sub SANITY : Tests {
ok( gsl_isnan(gsl_nan()), 'I like nan');
ok(!gsl_isnan(0.0), '0 is a number');
ok(!gsl_isnan(1.0), '1 is a number');
ok(!gsl_isnan(-1.0), '-1 is a number');
ok( gsl_isnan(gsl_log1p(-1)), 'ln(0)=nan');
ok(!gsl_isnan(gsl_posinf()), 'posinf is a number');
ok( gsl_isinf(gsl_posinf()),'posinf is inf' );
ok( gsl_isinf(gsl_neginf()),'neginf is inf' );
ok(!gsl_isinf(gsl_nan()),'nan is not inf' );
ok( gsl_isinf($GSL_POSINF), 'GSL_POSINF' );
ok( gsl_isinf($GSL_NEGINF), 'GSL_NEGINF' );
ok( gsl_finite(0.0), '0 is finite' );
ok( gsl_finite(1.0), '1 is finite' );
ok( gsl_finite(-1.0), '-1 is finite' );
ok(!gsl_finite(gsl_nan()), 'nan is not finite' );
ok(!gsl_finite(gsl_posinf()),'posinf is not finite' );
ok(!gsl_finite(gsl_neginf()),'neginf is not finite' );
}
Test::Class->runtests;