1 package Math
::GSL
::Wavelet
::Test
;
2 use Math
::GSL
::Test qw
/:all/;
3 use base
q{Test::Class};
5 use Math
::GSL
::Errno qw
/:all/;
6 use Math
::GSL
::Wavelet qw
/:all/;
7 use Math
::GSL qw
/:all/;
9 use Scalar
::Util qw
/blessed/;
12 BEGIN{ gsl_set_error_handler_off
(); }
14 sub make_fixture
: Test
(setup
) {
16 $self->{wavelet
} = gsl_wavelet_alloc
($gsl_wavelet_daubechies, 4);
17 $self->{workspace
} = gsl_wavelet_workspace_alloc
(256);
20 sub teardown
: Test
(teardown
) {
22 gsl_wavelet_free
($self->{wavelet
});
23 gsl_wavelet_workspace_free
($self->{workspace
});
26 sub GSL_WAVELET_ALLOC_FREE
: Tests
{
28 isa_ok
( $self->{wavelet
}, 'Math::GSL::Wavelet', 'gsl_wavelet_alloc' );
29 isa_ok
( $self->{workspace
}, 'Math::GSL::Wavelet', 'gsl_wavelet_workspace_alloc' );
32 sub GSL_WAVELET_TYPES
: Tests
{
34 ok
( blessed
$gsl_wavelet_bspline );
35 ok
( blessed
$gsl_wavelet_bspline_centered );
36 ok
( blessed
$gsl_wavelet_haar );
37 ok
( blessed
$gsl_wavelet_haar_centered );
38 ok
( blessed
$gsl_wavelet_daubechies );
39 ok
( blessed
$gsl_wavelet_daubechies_centered);
42 sub GSL_WAVELET_TRANSFORM_FORWARD
: Tests
{
45 my $status = gsl_wavelet_transform_forward
($self->{wavelet
},[0..255],
46 1.0, 256, $self->{workspace
} );
47 ok
( $status == $GSL_SUCCESS , 'gsl_wavelet_transform_forward' );
50 sub GSL_WAVELET_TRANSFORM_INVERSE
: Tests
{
53 my $status = gsl_wavelet_transform_inverse
($self->{wavelet
},[0..255],1.0, 256, $self->{workspace
} );
54 ok
( $status == $GSL_SUCCESS , 'gsl_wavelet_transform_inverse' );
57 sub GSL_WAVELET_NAME
: Tests
{
59 ok
( gsl_wavelet_name
($self->{wavelet
}) eq 'daubechies', 'gsl_wavelet_name' );