1 package Math
::GSL
::Deriv
::Test
;
2 use base
'Test::Class';
3 use Test
::More
'no_plan';
4 use Math
::GSL qw
/:all/;
5 use Math
::GSL
::Deriv qw
/:all/;
6 use Math
::GSL
::Errno qw
/:all/;
12 BEGIN{ gsl_set_error_handler_off
() };
14 sub make_fixture
: Test
(setup
) {
16 $self->{gsl_func
} = Math
::GSL
::Deriv
::gsl_function_struct
->new;
19 sub teardown
: Test
(teardown
) {
22 sub TEST_FUNCTION_STRUCT
: Tests
{
25 my $gsl_func = Math
::GSL
::Deriv
::gsl_function_struct
->new;
27 isa_ok
( $gsl_func,'Math::GSL::Deriv::gsl_function_struct');
30 sub TEST_DERIV_CENTRAL
: Tests
{
31 my ($status, $result, $abserr);
34 my $gsl_func = $self->{gsl_func
};
36 ($status, $result, $abserr) = gsl_deriv_central
( $gsl_func, $x, $h);
37 ok_status
( $status, $GSL_SUCCESS);
38 ok_similar
( $result, 2*$x, 'gsl_deriv_central works for a static function' );
41 gsl_deriv_central
( 'IAMNOTACODEREF', $x, $h);
44 local $TODO = "gsl_function *";
45 $gsl_func->swig_function_set( sub { print "FOO\n" } );
46 my $func = $gsl_func->swig_function_get();
47 ok
( ref $func eq 'CODE', 'swig_function_get works' );
49 $gsl_func->swig_params_set(42);
50 my $params = $gsl_func->swig_params_get();
51 ok
(defined $params && $params == 42, 'swig_params_get works' );