1 package Math::GSL::Errno::Test;
2 use base q{Test::Class};
3 use Test::More tests => 8;
4 use Math::GSL qw/:all/;
5 use Math::GSL::Errno qw/:all/;
6 use Math::GSL::Test qw/:all/;
10 sub make_fixture : Test(setup) {
13 sub teardown : Test(teardown) {
16 sub TEST_STRERROR : Tests {
18 ok( gsl_strerror($GSL_SUCCESS) eq 'success', q{gsl_strerror(GSL_SUCCESS) = 'success'} );
19 ok( gsl_strerror($GSL_EOF) eq 'end of file', q{gsl_strerror(GSL_EOF) = 'end of file'} );
20 ok( gsl_strerror($GSL_CONTINUE) eq 'the iteration has not converged yet');
21 ok( gsl_strerror($GSL_EDOM) eq 'input domain error');
22 ok( gsl_strerror($GSL_ERANGE) eq 'output range error');
23 ok( gsl_strerror($GSL_EFAULT) eq 'invalid pointer');
26 sub TEST_HANDLER_OFF: Tests {
27 my $handler = gsl_set_error_handler_off();
28 ok(!$@, 'gsl_set_error_handler_off() turns off error handling');
30 local $TODO="gsl_set_error_handler_off() does not return a gsl_error_handler_t";
31 isa_ok($handler, 'Math::GSL::Errno' );
34 Test::Class->runtests;