@@ -31,10 +31,10 @@ test('Test vtkDataArray getRange function with single-channel data.', (t) => {
31
31
} ) ;
32
32
33
33
test ( 'Test vtkDataArray getRange function with NaN values.' , ( t ) => {
34
- // a data array with a NaN value
34
+ // a data array with a NaN value and max as first value
35
35
const da = vtkDataArray . newInstance ( {
36
36
numberOfComponents : 1 ,
37
- values : new Float64Array ( [ 2 .0, 0 , NaN , 3.0 , 4 .0, 1.0 ] ) ,
37
+ values : new Float64Array ( [ 4 .0, 0 , NaN , 3.0 , 2 .0, 1.0 ] ) ,
38
38
} ) ;
39
39
40
40
t . equal ( da . getRange ( 0 ) [ 0 ] , 0.0 , 'getRange minimum value should be 0' ) ;
@@ -66,29 +66,64 @@ test('Test vtkDataArray getRange function with NaN values.', (t) => {
66
66
'getRange maximum value should be -MAX_VALUE'
67
67
) ;
68
68
69
- // a data array with multiple components
69
+ // a data array with all NaN values except one in the middle
70
70
const da4 = vtkDataArray . newInstance ( {
71
+ numberOfComponents : 1 ,
72
+ values : new Float64Array ( [ NaN , NaN , 2.0 , NaN ] ) ,
73
+ } ) ;
74
+
75
+ t . equal ( da4 . getRange ( 0 ) [ 0 ] , 2.0 , 'getRange minimum value should be 2' ) ;
76
+ t . equal ( da4 . getRange ( 0 ) [ 1 ] , 2.0 , 'getRange maximum value should be 2' ) ;
77
+
78
+ // a data array with all NaN values except one at the end
79
+ const da5 = vtkDataArray . newInstance ( {
80
+ numberOfComponents : 1 ,
81
+ values : new Float64Array ( [ NaN , NaN , 2.0 ] ) ,
82
+ } ) ;
83
+
84
+ t . equal ( da5 . getRange ( 0 ) [ 0 ] , 2.0 , 'getRange minimum value should be 2' ) ;
85
+ t . equal ( da5 . getRange ( 0 ) [ 1 ] , 2.0 , 'getRange maximum value should be 2' ) ;
86
+
87
+ // a data array with all NaN values
88
+ const da6 = vtkDataArray . newInstance ( {
89
+ numberOfComponents : 1 ,
90
+ values : new Float64Array ( [ NaN , NaN , NaN ] ) ,
91
+ } ) ;
92
+
93
+ t . equal (
94
+ da6 . getRange ( 0 ) [ 0 ] ,
95
+ Number . MAX_VALUE ,
96
+ 'getRange minimum value should be MAX_VALUE'
97
+ ) ;
98
+ t . equal (
99
+ da6 . getRange ( 0 ) [ 1 ] ,
100
+ - Number . MAX_VALUE ,
101
+ 'getRange maximum value should be -MAX_VALUE'
102
+ ) ;
103
+
104
+ // a data array with multiple components
105
+ const da7 = vtkDataArray . newInstance ( {
71
106
numberOfComponents : 2 ,
72
107
values : new Float64Array ( [ NaN , 1.0 , 2.0 , 3.0 , 5.0 , NaN ] ) ,
73
108
} ) ;
74
109
75
110
t . equal (
76
- da4 . getRange ( 0 ) [ 0 ] ,
111
+ da7 . getRange ( 0 ) [ 0 ] ,
77
112
2.0 ,
78
113
'component:0 getRange minimum value should be 2'
79
114
) ;
80
115
t . equal (
81
- da4 . getRange ( 0 ) [ 1 ] ,
116
+ da7 . getRange ( 0 ) [ 1 ] ,
82
117
5.0 ,
83
118
'component:0 getRange maximum value should be 5'
84
119
) ;
85
120
t . equal (
86
- da4 . getRange ( 1 ) [ 0 ] ,
121
+ da7 . getRange ( 1 ) [ 0 ] ,
87
122
1.0 ,
88
123
'component:1 getRange minimum value should be 1'
89
124
) ;
90
125
t . equal (
91
- da4 . getRange ( 1 ) [ 1 ] ,
126
+ da7 . getRange ( 1 ) [ 1 ] ,
92
127
3.0 ,
93
128
'component:1 getRange maximum value should be 3'
94
129
) ;
0 commit comments