File: limits_errb.t

package info (click to toggle)
pdl 1%3A2.4.7%2Bdfsg-2
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 10,128 kB
  • ctags: 5,821
  • sloc: perl: 26,328; fortran: 13,113; ansic: 9,378; makefile: 71; sh: 50; sed: 6
file content (56 lines) | stat: -rw-r--r-- 1,942 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

use Test::More;
use PDL;

BEGIN {
  eval "use PDL::Slatec;";
  if ( !$@ ) {
    eval "use PDL::Graphics::Limits;";
    plan tests => 6;
  } else {
    plan skip_all => 'PDL::Slatec not available';
  }
};

$x1 = pdl( 1, 2, 3 );
$x2 = pdl( 2, 3, 4 );

$xn = pdl( 0.5, 0.5, 0.5 );
$xp = $xn / 2;

$y1 = pdl( 10, 3, 4 );
$y2 = pdl( 0, 2, 4 );

@udsets = ( [ [ $x1, $xn ], $y1 ], [ $x2, $y2 ] );
@range = limits( @udsets, { Bounds => 'MinMax', Clean => 'None' } );
ok( eq_array( \@range, [ 0.5, 4, 0, 10 ] ), 'array: xerr symmetric, y none' );

@udsets = ( [ [ $x1, $xn ], $y1 ], [ [ $x2, undef, $xp ], $y2 ] );
@range = limits( @udsets, { Bounds => 'MinMax', Clean => 'None' } );
ok( eq_array( \@range, [ 0.5, 4.25, 0, 10 ] ), 'array: xerr asymmetric, y none' );

@udsets = ( [ [ $x1, $xn, $xp ], $y1 ], [ $x2, $y2 ] );
@range = limits( @udsets, { Bounds => 'MinMax', Clean => 'None' } );
ok( eq_array( \@range, [ 0.5, 4, 0, 10 ] ), 'array: xerr asymmetric, y none' );

@udsets = ( [ { x => $x1, xerr => $xn, y => $y1 }, { x => $x2, y => $y2 } ]);
@range = limits( @udsets, { VecKeys => [ 'x,=xerr', 'y'], 
      		      Bounds => 'MinMax', 
      		      Clean => 'None',
      		      KeyCroak => 0 } );
ok( eq_array( \@range, [ 0.5, 4, 0, 10 ] ), 'hash: xerr symmetric, y none' );

@udsets = ( [ { x => $x1, xerr => $xn, 'y' => $y1 } => ( 'x =xerr', 'y' ) ],
            [ { x => $x2, xp => $xp, 'y' => $y2 } => ( 'x >xp',  'y')  ] );
@range = limits( @udsets, { Bounds => 'MinMax', Clean => 'None' } );
      	    ok( eq_array( \@range, [ 0.5, 4.25, 0, 10 ] ), 'hash: xerr asymmetric, y none' );

@udsets = ( [ { x => $x1, xn => $xn, xp => $xp, y => $y1 },
              { x => $x2, y => $y2 } ] );
@range = limits( @udsets, { VecKeys => [ 'x <xn >xp', 'y' ], 
       		   Bounds => 'MinMax', 
      		   Clean => 'None',
      		   KeyCroak => 0
      		 } );
ok( eq_array( \@range, [ 0.5, 4, 0, 10 ] ), 'hash: xerr asymmetric, y none' );