@@ -58,12 +58,12 @@ describe('Test sort transform defaults:', function() {
58
58
59
59
describe ( 'Test sort transform calc:' , function ( ) {
60
60
var base = {
61
- x : [ - 2 , - 1 , - 2 , 0 , 1 , 3 , 1 ] ,
62
- y : [ 1 , 2 , 3 , 1 , 2 , 3 , 1 ] ,
63
- ids : [ 'n0' , 'n1' , 'n2' , 'z' , 'p1' , 'p2' , 'p3' ] ,
61
+ x : [ - 2 , - 1 , - 2 , 0 , 1 , 3 , null , 1 ] ,
62
+ y : [ 1 , 2 , 3 , 1 , 2 , 3 , 4 , 1 ] ,
63
+ ids : [ 'n0' , 'n1' , 'n2' , 'z' , 'p1' , 'p2' , 'n3' , ' p3'] ,
64
64
marker : {
65
- color : [ 0.1 , 0.2 , 0.3 , 0.1 , 0.2 , 0.3 , 0.4 ] ,
66
- size : [ 10 , 20 , 5 , 1 , 6 , 0 , 10 ]
65
+ color : [ 0.1 , 0.2 , 0.3 , 0.1 , 0.2 , 0.3 , 0.4 , 0.4 ] ,
66
+ size : [ 10 , 20 , 5 , 1 , 6 , 0 , 3 , 10 ]
67
67
} ,
68
68
transforms : [ { type : 'sort' } ]
69
69
} ;
@@ -89,21 +89,26 @@ describe('Test sort transform calc:', function() {
89
89
}
90
90
91
91
it ( 'should sort all array attributes (ascending case)' , function ( ) {
92
- var out = _transform ( [ extend ( { } ) ] ) ;
92
+ var out = _transform ( [ extend ( {
93
+ transforms : [ {
94
+ order : 'ascending'
95
+ } ]
96
+ } ) ] ) ;
93
97
94
- expect ( out [ 0 ] . x ) . toEqual ( [ - 2 , - 2 , - 1 , 0 , 1 , 1 , 3 ] ) ;
95
- expect ( out [ 0 ] . y ) . toEqual ( [ 1 , 3 , 2 , 1 , 2 , 1 , 3 ] ) ;
96
- expect ( out [ 0 ] . ids ) . toEqual ( [ 'n0' , 'n2' , 'n1' , 'z' , 'p1' , 'p3' , 'p2' ] ) ;
97
- expect ( out [ 0 ] . marker . color ) . toEqual ( [ 0.1 , 0.3 , 0.2 , 0.1 , 0.2 , 0.4 , 0.3 ] ) ;
98
- expect ( out [ 0 ] . marker . size ) . toEqual ( [ 10 , 5 , 20 , 1 , 6 , 10 , 0 ] ) ;
98
+ expect ( out [ 0 ] . x ) . toEqual ( [ null , - 2 , - 2 , - 1 , 0 , 1 , 1 , 3 ] ) ;
99
+ expect ( out [ 0 ] . y ) . toEqual ( [ 4 , 1 , 3 , 2 , 1 , 2 , 1 , 3 ] ) ;
100
+ expect ( out [ 0 ] . ids ) . toEqual ( [ 'n3' , ' n0', 'n2' , 'n1' , 'z' , 'p1' , 'p3' , 'p2' ] ) ;
101
+ expect ( out [ 0 ] . marker . color ) . toEqual ( [ 0.4 , 0. 1, 0.3 , 0.2 , 0.1 , 0.2 , 0.4 , 0.3 ] ) ;
102
+ expect ( out [ 0 ] . marker . size ) . toEqual ( [ 3 , 10 , 5 , 20 , 1 , 6 , 10 , 0 ] ) ;
99
103
expect ( out [ 0 ] . transforms [ 0 ] . _indexToPoints ) . toEqual ( {
100
- 0 : [ 0 ] ,
101
- 1 : [ 2 ] ,
102
- 2 : [ 1 ] ,
103
- 3 : [ 3 ] ,
104
- 4 : [ 4 ] ,
105
- 5 : [ 6 ] ,
106
- 6 : [ 5 ]
104
+ 0 : [ 6 ] ,
105
+ 1 : [ 0 ] ,
106
+ 2 : [ 2 ] ,
107
+ 3 : [ 1 ] ,
108
+ 4 : [ 3 ] ,
109
+ 5 : [ 4 ] ,
110
+ 6 : [ 7 ] ,
111
+ 7 : [ 5 ] ,
107
112
} ) ;
108
113
} ) ;
109
114
@@ -114,19 +119,20 @@ describe('Test sort transform calc:', function() {
114
119
} ]
115
120
} ) ] ) ;
116
121
117
- expect ( out [ 0 ] . x ) . toEqual ( [ 3 , 1 , 1 , 0 , - 1 , - 2 , - 2 ] ) ;
118
- expect ( out [ 0 ] . y ) . toEqual ( [ 3 , 2 , 1 , 1 , 2 , 1 , 3 ] ) ;
119
- expect ( out [ 0 ] . ids ) . toEqual ( [ 'p2' , 'p1' , 'p3' , 'z' , 'n1' , 'n0' , 'n2' ] ) ;
120
- expect ( out [ 0 ] . marker . color ) . toEqual ( [ 0.3 , 0.2 , 0.4 , 0.1 , 0.2 , 0.1 , 0.3 ] ) ;
121
- expect ( out [ 0 ] . marker . size ) . toEqual ( [ 0 , 6 , 10 , 1 , 20 , 10 , 5 ] ) ;
122
+ expect ( out [ 0 ] . x ) . toEqual ( [ 3 , 1 , 1 , 0 , - 1 , - 2 , - 2 , null ] ) ;
123
+ expect ( out [ 0 ] . y ) . toEqual ( [ 3 , 2 , 1 , 1 , 2 , 1 , 3 , 4 ] ) ;
124
+ expect ( out [ 0 ] . ids ) . toEqual ( [ 'p2' , 'p1' , 'p3' , 'z' , 'n1' , 'n0' , 'n2' , 'n3' ] ) ;
125
+ expect ( out [ 0 ] . marker . color ) . toEqual ( [ 0.3 , 0.2 , 0.4 , 0.1 , 0.2 , 0.1 , 0.3 , 0.4 ] ) ;
126
+ expect ( out [ 0 ] . marker . size ) . toEqual ( [ 0 , 6 , 10 , 1 , 20 , 10 , 5 , 3 ] ) ;
122
127
expect ( out [ 0 ] . transforms [ 0 ] . _indexToPoints ) . toEqual ( {
123
128
0 : [ 5 ] ,
124
129
1 : [ 4 ] ,
125
- 2 : [ 6 ] ,
130
+ 2 : [ 7 ] ,
126
131
3 : [ 3 ] ,
127
132
4 : [ 1 ] ,
128
133
5 : [ 0 ] ,
129
- 6 : [ 2 ]
134
+ 6 : [ 2 ] ,
135
+ 7 : [ 6 ]
130
136
} ) ;
131
137
} ) ;
132
138
@@ -138,19 +144,20 @@ describe('Test sort transform calc:', function() {
138
144
} ]
139
145
} ) ] ) ;
140
146
141
- expect ( out [ 0 ] . x ) . toEqual ( [ - 1 , - 2 , 1 , 1 , - 2 , 0 , 3 ] ) ;
142
- expect ( out [ 0 ] . y ) . toEqual ( [ 2 , 1 , 1 , 2 , 3 , 1 , 3 ] ) ;
143
- expect ( out [ 0 ] . ids ) . toEqual ( [ 'n1' , 'n0' , 'p3' , 'p1' , 'n2' , 'z' , 'p2' ] ) ;
144
- expect ( out [ 0 ] . marker . color ) . toEqual ( [ 0.2 , 0.1 , 0.4 , 0.2 , 0.3 , 0.1 , 0.3 ] ) ;
145
- expect ( out [ 0 ] . marker . size ) . toEqual ( [ 20 , 10 , 10 , 6 , 5 , 1 , 0 ] ) ;
147
+ expect ( out [ 0 ] . x ) . toEqual ( [ - 1 , - 2 , 1 , 1 , - 2 , null , 0 , 3 ] ) ;
148
+ expect ( out [ 0 ] . y ) . toEqual ( [ 2 , 1 , 1 , 2 , 3 , 4 , 1 , 3 ] ) ;
149
+ expect ( out [ 0 ] . ids ) . toEqual ( [ 'n1' , 'n0' , 'p3' , 'p1' , 'n2' , 'n3' , ' z', 'p2' ] ) ;
150
+ expect ( out [ 0 ] . marker . color ) . toEqual ( [ 0.2 , 0.1 , 0.4 , 0.2 , 0.3 , 0.4 , 0. 1, 0.3 ] ) ;
151
+ expect ( out [ 0 ] . marker . size ) . toEqual ( [ 20 , 10 , 10 , 6 , 5 , 3 , 1 , 0 ] ) ;
146
152
expect ( out [ 0 ] . transforms [ 0 ] . _indexToPoints ) . toEqual ( {
147
153
0 : [ 1 ] ,
148
154
1 : [ 0 ] ,
149
- 2 : [ 6 ] ,
155
+ 2 : [ 7 ] ,
150
156
3 : [ 4 ] ,
151
157
4 : [ 2 ] ,
152
- 5 : [ 3 ] ,
153
- 6 : [ 5 ]
158
+ 5 : [ 6 ] ,
159
+ 6 : [ 3 ] ,
160
+ 7 : [ 5 ] ,
154
161
} ) ;
155
162
} ) ;
156
163
@@ -175,25 +182,25 @@ describe('Test sort transform calc:', function() {
175
182
176
183
var out = _transform ( [ trace ] ) ;
177
184
178
- expect ( out [ 0 ] . x ) . toEqual ( [ 'F' , 'D' , 'C' , 'E' , 'A' , 'G ' , 'B' ] ) ;
179
- expect ( out [ 0 ] . y ) . toEqual ( [ 3 , 1 , 3 , 2 , 1 , 1 , 2 ] ) ;
180
- expect ( out [ 0 ] . ids ) . toEqual ( [ 'p2' , 'z' , 'n2' , 'p1' , 'n0' , 'p3' , 'n1' ] ) ;
181
- expect ( out [ 0 ] . marker . size ) . toEqual ( [ 0 , 1 , 5 , 6 , 10 , 10 , 20 ] ) ;
182
- expect ( out [ 0 ] . marker . color ) . toEqual ( [ 0.3 , 0.1 , 0.3 , 0.2 , 0.1 , 0.4 , 0.2 ] ) ;
185
+ expect ( out [ 0 ] . x ) . toEqual ( [ 'F' , 'D' , 'G' , ' C', 'E' , 'A' , 'H ' , 'B' ] ) ;
186
+ expect ( out [ 0 ] . y ) . toEqual ( [ 3 , 1 , 4 , 3 , 2 , 1 , 1 , 2 ] ) ;
187
+ expect ( out [ 0 ] . ids ) . toEqual ( [ 'p2' , 'z' , 'n3' , ' n2', 'p1' , 'n0' , 'p3' , 'n1' ] ) ;
188
+ expect ( out [ 0 ] . marker . size ) . toEqual ( [ 0 , 1 , 3 , 5 , 6 , 10 , 10 , 20 ] ) ;
189
+ expect ( out [ 0 ] . marker . color ) . toEqual ( [ 0.3 , 0.1 , 0.4 , 0. 3, 0.2 , 0.1 , 0.4 , 0.2 ] ) ;
183
190
} ) ;
184
191
185
192
it ( 'should sort via custom targets' , function ( ) {
186
193
var out = _transform ( [ extend ( {
187
194
transforms : [ {
188
- target : [ 10 , 20 , 30 , 10 , 20 , 30 , 0 ]
195
+ target : [ 10 , 20 , 30 , 10 , 20 , 30 , null , 0 ]
189
196
} ]
190
197
} ) ] ) ;
191
198
192
- expect ( out [ 0 ] . x ) . toEqual ( [ 1 , - 2 , 0 , - 1 , 1 , - 2 , 3 ] ) ;
193
- expect ( out [ 0 ] . y ) . toEqual ( [ 1 , 1 , 1 , 2 , 2 , 3 , 3 ] ) ;
194
- expect ( out [ 0 ] . ids ) . toEqual ( [ 'p3' , 'n0' , 'z' , 'n1' , 'p1' , 'n2' , 'p2' ] ) ;
195
- expect ( out [ 0 ] . marker . color ) . toEqual ( [ 0.4 , 0.1 , 0.1 , 0.2 , 0.2 , 0.3 , 0.3 ] ) ;
196
- expect ( out [ 0 ] . marker . size ) . toEqual ( [ 10 , 10 , 1 , 20 , 6 , 5 , 0 ] ) ;
199
+ expect ( out [ 0 ] . x ) . toEqual ( [ null , 1 , - 2 , 0 , - 1 , 1 , - 2 , 3 ] ) ;
200
+ expect ( out [ 0 ] . y ) . toEqual ( [ 4 , 1 , 1 , 1 , 2 , 2 , 3 , 3 ] ) ;
201
+ expect ( out [ 0 ] . ids ) . toEqual ( [ 'n3' , ' p3', 'n0' , 'z' , 'n1' , 'p1' , 'n2' , 'p2' ] ) ;
202
+ expect ( out [ 0 ] . marker . color ) . toEqual ( [ 0.4 , 0.4 , 0. 1, 0.1 , 0.2 , 0.2 , 0.3 , 0.3 ] ) ;
203
+ expect ( out [ 0 ] . marker . size ) . toEqual ( [ 3 , 10 , 10 , 1 , 20 , 6 , 5 , 0 ] ) ;
197
204
} ) ;
198
205
199
206
it ( 'should truncate transformed arrays to target array length (short target case)' , function ( ) {
@@ -237,19 +244,19 @@ describe('Test sort transform calc:', function() {
237
244
transforms : [ { target : 'text' } ]
238
245
} ) ] ) ;
239
246
240
- expect ( out [ 0 ] . x ) . toEqual ( [ 1 , - 2 , 3 , - 1 , 1 , - 2 , 0 ] ) ;
241
- expect ( out [ 0 ] . y ) . toEqual ( [ 1 , 3 , 3 , 2 , 2 , 1 , 1 ] ) ;
242
- expect ( out [ 0 ] . ids ) . toEqual ( [ 'p3 ' , 'n2' , 'p2' , 'n1' , 'p1' , 'n0' , 'z' ] ) ;
243
- expect ( out [ 0 ] . marker . color ) . toEqual ( [ 0.4 , 0.3 , 0.3 , 0.2 , 0.2 , 0.1 , 0.1 ] ) ;
244
- expect ( out [ 0 ] . marker . size ) . toEqual ( [ 10 , 5 , 0 , 20 , 6 , 10 , 1 ] ) ;
245
- expect ( out [ 0 ] . _length ) . toBe ( 7 ) ;
246
-
247
- expect ( out [ 1 ] . x ) . toEqual ( [ - 2 , - 1 , - 2 , 0 , 1 , 3 , 1 ] ) ;
248
- expect ( out [ 1 ] . y ) . toEqual ( [ 1 , 2 , 3 , 1 , 2 , 3 , 1 ] ) ;
249
- expect ( out [ 1 ] . ids ) . toEqual ( [ 'n0' , 'n1' , 'n2' , 'z' , 'p1' , 'p2' , 'p3' ] ) ;
250
- expect ( out [ 1 ] . marker . color ) . toEqual ( [ 0.1 , 0.2 , 0.3 , 0.1 , 0.2 , 0.3 , 0.4 ] ) ;
251
- expect ( out [ 1 ] . marker . size ) . toEqual ( [ 10 , 20 , 5 , 1 , 6 , 0 , 10 ] ) ;
252
- expect ( out [ 1 ] . _length ) . toBe ( 7 ) ;
247
+ expect ( out [ 0 ] . x ) . toEqual ( [ null , - 2 , 3 , - 1 , 1 , - 2 , 0 , 1 ] ) ;
248
+ expect ( out [ 0 ] . y ) . toEqual ( [ 4 , 3 , 3 , 2 , 2 , 1 , 1 , 1 ] ) ;
249
+ expect ( out [ 0 ] . ids ) . toEqual ( [ 'n3 ' , 'n2' , 'p2' , 'n1' , 'p1' , 'n0' , 'z' , 'p3 '] ) ;
250
+ expect ( out [ 0 ] . marker . color ) . toEqual ( [ 0.4 , 0.3 , 0.3 , 0.2 , 0.2 , 0.1 , 0.1 , 0.4 ] ) ;
251
+ expect ( out [ 0 ] . marker . size ) . toEqual ( [ 3 , 5 , 0 , 20 , 6 , 10 , 1 , 10 ] ) ;
252
+ expect ( out [ 0 ] . _length ) . toBe ( 8 ) ;
253
+
254
+ expect ( out [ 1 ] . x ) . toEqual ( [ - 2 , - 1 , - 2 , 0 , 1 , 3 , null , 1 ] ) ;
255
+ expect ( out [ 1 ] . y ) . toEqual ( [ 1 , 2 , 3 , 1 , 2 , 3 , 4 , 1 ] ) ;
256
+ expect ( out [ 1 ] . ids ) . toEqual ( [ 'n0' , 'n1' , 'n2' , 'z' , 'p1' , 'p2' , 'n3' , ' p3'] ) ;
257
+ expect ( out [ 1 ] . marker . color ) . toEqual ( [ 0.1 , 0.2 , 0.3 , 0.1 , 0.2 , 0.3 , 0.4 , 0.4 ] ) ;
258
+ expect ( out [ 1 ] . marker . size ) . toEqual ( [ 10 , 20 , 5 , 1 , 6 , 0 , 3 , 10 ] ) ;
259
+ expect ( out [ 1 ] . _length ) . toBe ( 8 ) ;
253
260
} ) ;
254
261
} ) ;
255
262
0 commit comments