1
+ 'use strict' ;
2
+
3
+ var _immutable = require ( 'immutable' ) ;
4
+
5
+ var _immutable2 = _interopRequireDefault ( _immutable ) ;
6
+
7
+ var _frame = require ( '../../../core/frame' ) ;
8
+
9
+ var _frame2 = _interopRequireDefault ( _frame ) ;
10
+
11
+ var _series = require ( '../../../core/series' ) ;
12
+
13
+ var _series2 = _interopRequireDefault ( _series ) ;
14
+
15
+ var _concat = require ( '../../../core/reshape/concat' ) ;
16
+
17
+ var _concat2 = _interopRequireDefault ( _concat ) ;
18
+
19
+ function _interopRequireDefault ( obj ) { return obj && obj . __esModule ? obj : { default : obj } ; }
20
+
21
+ describe ( 'concat' , function ( ) {
22
+ describe ( 'concat Series' , function ( ) {
23
+ it ( 'Concatenates two Series without ignoring index' , function ( ) {
24
+ var series1 = new _series2 . default ( [ 1 , 2 , 3 , 4 ] ) ;
25
+ var series2 = new _series2 . default ( [ 2 , 3 , 4 , 5 ] ) ;
26
+
27
+ var series3 = ( 0 , _concat2 . default ) ( [ series1 , series2 ] ) ;
28
+ expect ( series3 . values . toArray ( ) ) . toEqual ( [ 1 , 2 , 3 , 4 , 2 , 3 , 4 , 5 ] ) ;
29
+ expect ( series3 . index . toArray ( ) ) . toEqual ( [ 0 , 1 , 2 , 3 , 0 , 1 , 2 , 3 ] ) ;
30
+ } ) ;
31
+
32
+ it ( 'Concatenates two Series with ignore index' , function ( ) {
33
+ var series1 = new _series2 . default ( [ 1 , 2 , 3 , 4 ] ) ;
34
+ var series2 = new _series2 . default ( [ 2 , 3 , 4 , 5 ] ) ;
35
+
36
+ var series3 = ( 0 , _concat2 . default ) ( [ series1 , series2 ] , { ignore_index : true } ) ;
37
+ expect ( series3 . values . toArray ( ) ) . toEqual ( [ 1 , 2 , 3 , 4 , 2 , 3 , 4 , 5 ] ) ;
38
+ expect ( series3 . index . toArray ( ) ) . toEqual ( [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ] ) ;
39
+ } ) ;
40
+
41
+ it ( 'Throws an error if the first object in concat is a Series ' + 'and any of the rest are not' , function ( ) {
42
+ var series1 = new _series2 . default ( [ 1 , 2 , 3 , 4 ] ) ;
43
+ var series2 = new _series2 . default ( [ 2 , 3 , 4 , 5 ] ) ;
44
+
45
+ expect ( function ( ) {
46
+ return ( 0 , _concat2 . default ) ( [ series1 , series2 , [ ] ] , { ignore_index : true } ) ;
47
+ } ) . toThrow ( ) ;
48
+ expect ( function ( ) {
49
+ return ( 0 , _concat2 . default ) ( _immutable2 . default . List ( [ series1 , series2 , [ ] ] ) , { ignore_index : true } ) ;
50
+ } ) . toThrow ( ) ;
51
+ } ) ;
52
+ } ) ;
53
+
54
+ describe ( 'concat DataFrame' , function ( ) {
55
+ it ( 'Concatenates two DataFrames without ignoring index' , function ( ) {
56
+ var frame1 = new _frame2 . default ( [ { x : 1 , y : 2 } , { x : 2 , y : 3 } , { x : 3 , y : 4 } ] ) ;
57
+ var frame2 = new _frame2 . default ( [ { x : 2 , y : 3 } , { x : 3 , y : 4 } , { x : 4 , y : 5 } ] ) ;
58
+
59
+ var frame3 = ( 0 , _concat2 . default ) ( [ frame1 , frame2 ] ) ;
60
+ expect ( frame3 . get ( 'x' ) . values . toArray ( ) ) . toEqual ( [ 1 , 2 , 3 , 2 , 3 , 4 ] ) ;
61
+ expect ( frame3 . get ( 'x' ) . index . toArray ( ) ) . toEqual ( [ 0 , 1 , 2 , 0 , 1 , 2 ] ) ;
62
+ } ) ;
63
+
64
+ it ( 'Concatenates two DataFrames with index ignored' , function ( ) {
65
+ var frame1 = new _frame2 . default ( [ { x : 1 , y : 2 } , { x : 2 , y : 3 } , { x : 3 , y : 4 } ] ) ;
66
+ var frame2 = new _frame2 . default ( [ { x : 2 , y : 3 } , { x : 3 , y : 4 } , { x : 4 , y : 5 } ] ) ;
67
+
68
+ var frame3 = ( 0 , _concat2 . default ) ( [ frame1 , frame2 ] , { ignore_index : true } ) ;
69
+ expect ( frame3 . get ( 'x' ) . values . toArray ( ) ) . toEqual ( [ 1 , 2 , 3 , 2 , 3 , 4 ] ) ;
70
+ expect ( frame3 . get ( 'x' ) . index . toArray ( ) ) . toEqual ( [ 0 , 1 , 2 , 3 , 4 , 5 ] ) ;
71
+ } ) ;
72
+
73
+ it ( 'Concatenates two DataFrames along axis = 1 without ignoring index' , function ( ) {
74
+ var frame1 = new _frame2 . default ( [ { x : 1 , y : 2 } , { x : 2 , y : 3 } , { x : 3 , y : 4 } ] ) ;
75
+ var frame2 = new _frame2 . default ( [ { x : 2 , y : 3 } , { x : 3 , y : 4 } , { x : 4 , y : 5 } ] ) ;
76
+
77
+ var frame3 = ( 0 , _concat2 . default ) ( [ frame1 , frame2 ] , { axis : 1 } ) ;
78
+ expect ( frame3 . get ( 'x' ) . values . toArray ( ) ) . toEqual ( [ 1 , 2 , 3 ] ) ;
79
+ expect ( frame3 . get ( 'y' ) . values . toArray ( ) ) . toEqual ( [ 2 , 3 , 4 ] ) ;
80
+ expect ( frame3 . get ( 'x.x' ) . values . toArray ( ) ) . toEqual ( [ 2 , 3 , 4 ] ) ;
81
+ expect ( frame3 . get ( 'x.x' ) . name ) . toEqual ( 'x.x' ) ;
82
+ expect ( frame3 . get ( 'y.x' ) . values . toArray ( ) ) . toEqual ( [ 3 , 4 , 5 ] ) ;
83
+ expect ( frame3 . get ( 'y.x' ) . name ) . toEqual ( 'y.x' ) ;
84
+ } ) ;
85
+ } ) ;
86
+ } ) ;
0 commit comments