Refactor ok_status($x,$GSL_SUCCESS) to ok_status($x)
[Math-GSL.git] / lib / Math / GSL / FFT / Test.pm
blobb483d8cf488344e584348380ff673c827a3b4f78
1 package Math::GSL::FFT::Test;
2 use base q{Test::Class};
3 use Test::More;
4 use Math::GSL::FFT qw/:all/;
5 use Math::GSL qw/:all/;
6 use Data::Dumper;
7 use Math::GSL::Errno qw/:all/;
8 use strict;
10 BEGIN { gsl_set_error_handler_off(); }
11 sub make_fixture : Test(setup) {
14 sub teardown : Test(teardown) {
15 unlink 'fft' if -f 'fft';
17 sub FFT_REAL_RADIX2_TRANSFORM : Tests
19 my $data = [ (0) x 5, (1) x 22, (0) x 5 ];
20 ok_status( gsl_fft_real_radix2_transform ($data, 1, 32));
21 print Dumper [ $data ];
24 sub FFT_COMPLEX_RADIX2_FORWARD : Tests
26 my $data = [ (1) x 10, (0) x 236, (1) x 10 ];
27 ok_status( gsl_fft_complex_radix2_forward ($data, 1, 128) );
29 sub FFT_VARS : Tests {
30 cmp_ok( $gsl_fft_forward, '==', -1, 'gsl_fft_forward' );
31 cmp_ok( $gsl_fft_backward, '==', +1, 'gsl_fft_backward' );
33 sub WAVETABLE_ALLOC_FREE: Tests {
34 my $wavetable = gsl_fft_complex_wavetable_alloc(42);
35 isa_ok($wavetable, 'Math::GSL::FFT' );
36 gsl_fft_complex_wavetable_free($wavetable);
37 ok(!$@, 'gsl_fft_complex_wavetable_free');
39 $wavetable = gsl_fft_halfcomplex_wavetable_alloc(42);
40 isa_ok($wavetable, 'Math::GSL::FFT' );
41 gsl_fft_halfcomplex_wavetable_free($wavetable);
42 ok(!$@, 'gsl_fft_halfcomplex_wavetable_free');
44 $wavetable = gsl_fft_real_wavetable_alloc(42);
45 isa_ok($wavetable, 'Math::GSL::FFT' );
46 gsl_fft_real_wavetable_free($wavetable);
47 ok(!$@, 'gsl_fft_real_wavetable_free');
51 sub WORKSPACE_ALLOC_FREE: Tests {
52 my $workspace = gsl_fft_complex_workspace_alloc(42);
53 isa_ok($workspace, 'Math::GSL::FFT' );
54 gsl_fft_complex_workspace_free($workspace);
55 ok(!$@, 'gsl_fft_complex_workspace_free');
57 # there are no gsl_fft_halfcomplex_workspace_* functions
59 $workspace = gsl_fft_real_workspace_alloc(42);
60 isa_ok($workspace, 'Math::GSL::FFT' );
61 gsl_fft_real_workspace_free($workspace);
62 ok(!$@, 'gsl_fft_real_workspace_free');