1
- import { getScaleMax , getScaleIsStackMax } from '../../../../src/plots/radial-bar/utils' ;
1
+ import { getScaleMax , getStackedData } from '../../../../src/plots/radial-bar/utils' ;
2
2
import { antvStar } from '../../../data/antv-star' ;
3
- import { populationMovementData as popData } from '../../../data/chord-population' ;
4
3
5
4
const yField = 'star' ;
6
5
7
- const popField = {
8
- yField : 'value' ,
9
- xField : 'source' ,
10
- } ;
11
-
12
6
describe ( 'utils of radial-bar' , ( ) => {
13
7
const starArr = antvStar . map ( ( item ) => item [ yField ] ) ;
14
8
const maxValue = Math . max ( ...starArr ) ;
@@ -28,36 +22,40 @@ describe('utils of radial-bar', () => {
28
22
expect ( getScaleMax ( 360 , yField , [ ] ) ) . toBe ( 0 ) ;
29
23
} ) ;
30
24
31
- const popArr = popData
32
- . reduce ( ( value , item ) => {
33
- const valueItem = value . find ( ( v ) => v [ popField . xField ] === item [ popField . xField ] ) ;
34
- if ( valueItem ) {
35
- valueItem [ popField . yField ] += item [ popField . yField ] ;
36
- } else {
37
- value . push ( { ...item } ) ;
38
- }
39
- return value ;
40
- } , [ ] )
41
- . map ( ( item ) => item [ popField . yField ] ) ;
42
-
43
- const isStackMaxValue = Math . max ( ...popArr ) ;
44
-
45
- it ( 'getScaleIsStackMax: normal' , ( ) => {
46
- expect ( getScaleIsStackMax ( 360 , popField . yField , popField . xField , popData ) ) . toBe ( isStackMaxValue ) ;
47
- expect ( getScaleIsStackMax ( - 300 , popField . yField , popField . xField , popData ) ) . toBe ( ( isStackMaxValue * 360 ) / 300 ) ;
48
- expect ( getScaleIsStackMax ( 660 , popField . yField , popField . xField , popData ) ) . toBe ( ( isStackMaxValue * 360 ) / 300 ) ;
25
+ const data2 = [
26
+ { date : '01-01' , value : 10 , type : 'type1' } ,
27
+ { date : '01-02' , value : 9 , type : 'type1' } ,
28
+ { date : '01-01' , value : 5 , type : 'type2' } ,
29
+ { date : '01-02' , value : 7 , type : 'type2' } ,
30
+ ] ;
31
+
32
+ it ( 'getStackedData: normal' , ( ) => {
33
+ const stackedData = getStackedData ( data2 , 'date' , 'value' ) ;
34
+ expect ( stackedData . length ) . toBe ( 2 ) ;
35
+ expect ( stackedData [ 0 ] . date ) . toBe ( data2 [ 0 ] . date ) ;
36
+ expect ( stackedData [ 1 ] . date ) . toBe ( data2 [ 1 ] . date ) ;
37
+ expect ( stackedData [ 0 ] . value ) . toBe ( 15 ) ;
38
+ expect ( stackedData [ 1 ] . value ) . toBe ( 16 ) ;
49
39
} ) ;
50
40
51
41
it ( 'getScaleIsStackMax: existed nil value' , ( ) => {
52
- expect (
53
- getScaleIsStackMax ( - 300 , popField . yField , popField . xField , [ ...popData , { source : 'c' , value : undefined } ] )
54
- ) . toBe ( ( isStackMaxValue * 360 ) / 300 ) ;
55
- expect ( getScaleIsStackMax ( - 300 , popField . yField , popField . xField , [ ...popData , { source : 'c' , value : null } ] ) ) . toBe (
56
- ( isStackMaxValue * 360 ) / 300
57
- ) ;
42
+ data2 [ 2 ] . value = null ;
43
+ let stackedData = getStackedData ( data2 , 'date' , 'value' ) ;
44
+
45
+ expect ( stackedData . length ) . toBe ( 2 ) ;
46
+ expect ( stackedData [ 0 ] . date ) . toBe ( data2 [ 0 ] . date ) ;
47
+ expect ( stackedData [ 1 ] . date ) . toBe ( data2 [ 1 ] . date ) ;
48
+ expect ( stackedData [ 0 ] . value ) . toBe ( 10 ) ;
49
+ expect ( stackedData [ 1 ] . value ) . toBe ( 16 ) ;
50
+
51
+ data2 [ 2 ] . value = undefined ;
52
+ stackedData = getStackedData ( data2 , 'date' , 'value' ) ;
53
+
54
+ expect ( stackedData . length ) . toBe ( 2 ) ;
55
+ expect ( stackedData [ 0 ] . value ) . toBe ( 10 ) ;
58
56
} ) ;
59
57
60
58
it ( 'getScaleIsStackMax: empty array' , ( ) => {
61
- expect ( getScaleIsStackMax ( 360 , popField . yField , popField . xField , [ ] ) ) . toBe ( 0 ) ;
59
+ expect ( getStackedData ( [ ] , 'date' , 'value' ) . length ) . toBe ( 0 ) ;
62
60
} ) ;
63
61
} ) ;
0 commit comments