UNPKG

pandas-js

Version:
691 lines (557 loc) 26.8 kB
'use strict'; var _immutable = require('immutable'); var _immutable2 = _interopRequireDefault(_immutable); var _series = require('../../core/series'); var _series2 = _interopRequireDefault(_series); var _dtype = require('../../core/dtype'); var dtype = _interopRequireWildcard(_dtype); var _exceptions = require('../../core/exceptions'); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } describe('series', function () { describe('Series', function () { it('initializes properly with an Array', function () { expect(new _series2.default([1, 2, 3]).values).toBeInstanceOf(_immutable2.default.List); expect(new _series2.default([1, 2, 3]).values.toArray()).toEqual([1, 2, 3]); expect(new _series2.default([1, 2, 3], { name: 'Test name' }).name).toEqual('Test name'); }); it('toString', function () { var ds1 = new _series2.default([1.5, 2.1, 3.9]); expect(ds1.toString()).toEqual('0\t1.5\n1\t2.1\n2\t3.9\nName: , dtype: dtype(float)'); }); it('head', function () { var ds = new _series2.default([1, 2, 3, 4, 5]); expect(ds.head(3).values.toArray()).toEqual([1, 2, 3]); }); it('tail', function () { var ds = new _series2.default([1, 2, 3, 4, 5]); expect(ds.tail(3).values.toArray()).toEqual([3, 4, 5]); }); it('copy', function () { var ds1 = new _series2.default([1, 2, 3, 4], { index: [2, 3, 4, 5], name: 'Test name' }); var ds2 = ds1.copy(); expect(ds2).toBeInstanceOf(_series2.default); expect(ds2.values.toArray()).toEqual([1, 2, 3, 4]); expect(ds1.name).toEqual('Test name'); ds2.index = [1, 2, 3, 4]; expect(ds1.index.toArray()).toEqual([2, 3, 4, 5]); expect(ds2.index.toArray()).toEqual([1, 2, 3, 4]); }); it('shape', function () { var ds = new _series2.default([1, 2, 3, 4, 5]); expect(ds.shape).toBeInstanceOf(_immutable2.default.Seq); expect(ds.shape.toArray()).toEqual([5]); }); it('rename', function () { var ds = new _series2.default([1, 2, 3], { name: 'test name' }); expect(ds.name).toEqual('test name'); var ds2 = ds.rename('test name 2'); expect(ds.name).toEqual('test name'); expect(ds2.name).toEqual('test name 2'); }); describe('astype', function () { it('converts a float Series to an integer Series', function () { var ds1 = new _series2.default([1.5, 2.1, 3.9]); expect(ds1.dtype.dtype).toEqual('float'); var ds2 = ds1.astype(new dtype.DType('int')); expect(ds2.values.toArray()).toEqual([1, 2, 3]); }); }); describe('index', function () { it('index is set properly as the [0, ..., length - 1] if not passed in constructor', function () { var ds1 = new _series2.default([1.5, 2.1, 3.9]); expect(ds1.index.toArray()).toEqual([0, 1, 2]); }); it('index is set properly as the index array passed in in constructor', function () { var ds1 = new _series2.default([1.5, 2.1, 3.9], { index: [1, 2, 3] }); expect(ds1.index.toArray()).toEqual([1, 2, 3]); }); it('index is set properly as the index List passed in in constructor', function () { var ds1 = new _series2.default([1.5, 2.1, 3.9], { index: _immutable2.default.List([1, 2, 3]) }); expect(ds1.index.toArray()).toEqual([1, 2, 3]); }); it('throws IndexMismatchError if the index does not match', function () { var f = function f() { return new _series2.default([1.5, 2.1, 3.9], { index: _immutable2.default.List([1, 2, 3, 4]) }); }; expect(f).toThrowError(_exceptions.IndexMismatchError); }); it('index setter updates the index if proper length array passed in', function () { var ds1 = new _series2.default([1.5, 2.1, 3.9], { index: _immutable2.default.List([1, 2, 3]) }); ds1.index = _immutable2.default.List([2, 3, 4]); expect(ds1.index.toArray()).toEqual([2, 3, 4]); }); it('throws IndexMismatchError in setter if index does not match', function () { var ds1 = new _series2.default([1.5, 2.1, 3.9], { index: _immutable2.default.List([1, 2, 3]) }); var f = function f() { ds1.index = _immutable2.default.List([2, 3, 4, 5]); }; expect(f).toThrowError(_exceptions.IndexMismatchError); }); }); describe('iloc()', function () { it('gets the value in a pandas.Series at the index', function () { var ds1 = new _series2.default([1.5, 2.1, 3.9]); expect(ds1.iloc(0)).toEqual(1.5); expect(ds1.iloc(1)).toEqual(2.1); expect(ds1.iloc(2)).toEqual(3.9); }); it('gets a Series between startVal and endVal', function () { var ds1 = new _series2.default([1.5, 2.1, 3.9]); expect(ds1.iloc(0, 2)).toBeInstanceOf(_series2.default); expect(ds1.iloc(0, 1).values.toArray()).toEqual([1.5]); expect(ds1.iloc(0, 2).values.toArray()).toEqual([1.5, 2.1]); expect(ds1.iloc(1, 3).values.toArray()).toEqual([2.1, 3.9]); }); }); describe('map()', function () { it('applies a function over the series and returns a new Series', function () { var ds1 = new _series2.default([1, 2, 3]); var ds2 = ds1.map(function (v) { return v * 2; }); expect(ds2).toBeInstanceOf(_series2.default); expect(ds2.values.toArray()).toEqual([2, 4, 6]); }); }); describe('forEach()', function () { var ds = new _series2.default([1, 2, 3, 4]); var a = 0; ds.forEach(function (val) { a += val; }); expect(a).toEqual(10); }); describe('sum()', function () { it('returns the sum of the Series', function () { expect(new _series2.default([1, 2, 3]).sum()).toEqual(6); }); }); describe('mean()', function () { it('returns the mean of the Series', function () { expect(new _series2.default([1, 2, 3]).mean()).toEqual(2); }); }); describe('median()', function () { it('returns the median of the even-length Series', function () { expect(new _series2.default([3, 2, 1, 4]).median()).toEqual(2.5); }); it('returns the median of the odd-length Series', function () { expect(new _series2.default([4, 2, 1, 4, 7]).median()).toEqual(4); }); }); describe('std()', function () { it('returns the standard deviation of the Series', function () { expect(new _series2.default([1, 2, 3]).std()).toBeCloseTo(1, 12); }); }); describe('abs()', function () { it('returns the absolute value of a numeric Series', function () { var ds = new _series2.default([-1, 2, -3]); var dsAbs = ds.abs(); expect(dsAbs).toBeInstanceOf(_series2.default); expect(dsAbs.values.toArray()).toEqual([1, 2, 3]); }); it('returns copy of Series if it is not numeric', function () { var ds = new _series2.default(['hi', 2, 4]); var dsAbs = ds.abs(); expect(dsAbs).toBeInstanceOf(_series2.default); expect(dsAbs.values.toArray()).toEqual(['hi', 2, 4]); }); }); describe('add()', function () { it('adds a second Series and returns a new Series', function () { var ds1 = new _series2.default([1, 2, 3]); var ds2 = new _series2.default([2, 3, 4]); var ds3 = ds1.add(ds2); expect(ds3).toBeInstanceOf(_series2.default); expect(ds3.values.size).toEqual(3); expect(ds3.values.toJS()).toEqual([3, 5, 7]); }); }); describe('sub()', function () { it('subtracts a second Series and returns a new Series', function () { var ds1 = new _series2.default([1, 2, 3]); var ds2 = new _series2.default([2, 3, 5]); var ds3 = ds1.sub(ds2); expect(ds3).toBeInstanceOf(_series2.default); expect(ds3.values.size).toEqual(3); expect(ds3.values.toJS()).toEqual([-1, -1, -2]); }); }); describe('sub()', function () { it('subtracts a second Series and returns a new Series', function () { var ds1 = new _series2.default([1, 2, 3]); var ds2 = new _series2.default([2, 3, 5]); var ds3 = ds1.sub(ds2); expect(ds3).toBeInstanceOf(_series2.default); expect(ds3.values.size).toEqual(3); expect(ds3.values.toJS()).toEqual([-1, -1, -2]); }); }); describe('mul()', function () { it('multiplies by a second Series and returns a new Series', function () { var ds1 = new _series2.default([1, 2, 3]); var ds2 = new _series2.default([2, 3, 5]); var ds3 = ds1.mul(ds2); expect(ds3).toBeInstanceOf(_series2.default); expect(ds3.values.size).toEqual(3); expect(ds3.values.toJS()).toEqual([2, 6, 15]); }); }); describe('multiply()', function () { it('multiplies by a second Series and returns a new Series', function () { var ds1 = new _series2.default([1, 2, 3]); var ds2 = new _series2.default([2, 3, 5]); var ds3 = ds1.multiply(ds2); expect(ds3).toBeInstanceOf(_series2.default); expect(ds3.values.size).toEqual(3); expect(ds3.values.toJS()).toEqual([2, 6, 15]); }); }); describe('div()', function () { it('divides by a second Series and returns a new Series', function () { var ds1 = new _series2.default([1, 2, 3]); var ds2 = new _series2.default([2, 3, 5]); var ds3 = ds1.div(ds2); expect(ds3).toBeInstanceOf(_series2.default); expect(ds3.values.size).toEqual(3); expect(ds3.values.toJS()).toEqual([0.5, 2 / 3, 0.6]); }); }); describe('divide()', function () { it('divides by a second Series and returns a new Series', function () { var ds1 = new _series2.default([1, 2, 3]); var ds2 = new _series2.default([2, 3, 5]); var ds3 = ds1.divide(ds2); expect(ds3).toBeInstanceOf(_series2.default); expect(ds3.values.size).toEqual(3); expect(ds3.values.toJS()).toEqual([0.5, 2 / 3, 0.6]); }); }); describe('diff', function () { it('calculates the difference for 1 period', function () { var ds = new _series2.default([1, 2, 4, 8, 16]); expect(ds.diff(1).values.toArray()).toEqual([null, 1, 2, 4, 8]); }); it('calculates the difference for 2 periods', function () { var ds = new _series2.default([1, 2, 4, 8, 16]); expect(ds.diff(2).values.toArray()).toEqual([null, null, 3, 6, 12]); }); }); describe('pct_change', function () { it('calculates the percent change for 1 period', function () { var ds = new _series2.default([1, 2, 3, 4, 5]); expect(ds.pct_change(1).values.toArray()).toEqual([null, 1, 0.5, 4 / 3 - 1, 0.25]); }); it('calculates the percent change for 2 periods', function () { var ds = new _series2.default([1, 2, 3, 4, 5]); expect(ds.pct_change(2).values.toArray()).toEqual([null, null, 2, 1, 5 / 3 - 1]); }); }); describe('sort_values', function () { it('sorts the Series by the values in ascending order', function () { var ds1 = new _series2.default([2, 3, 4, 1]).sort_values(); expect(ds1.values.toArray()).toEqual([1, 2, 3, 4]); expect(ds1.index.toArray()).toEqual([3, 0, 1, 2]); }); it('sorts the Series by the values in descending order', function () { var ds = new _series2.default([2, 3, 4, 1]); var ds1 = ds.sort_values(false); expect(ds1.values.toArray()).toEqual([4, 3, 2, 1]); expect(ds1.index.toArray()).toEqual([2, 1, 0, 3]); }); it('sorts the Series by the values in ascending order for strings', function () { var ds = new _series2.default(['hi', 'bye', 'test', 'foo', 'bar']); var ds1 = ds.sort_values(true); expect(ds1.values.toArray()).toEqual(['bar', 'bye', 'foo', 'hi', 'test']); expect(ds1.index.toArray()).toEqual([4, 1, 3, 0, 2]); }); it('sorts the Series by the values in descending order for strings', function () { var ds = new _series2.default(['hi', 'bye', 'test', 'foo', 'bar']); var ds1 = ds.sort_values(false); expect(ds1.values.toArray()).toEqual(['test', 'hi', 'foo', 'bye', 'bar']); expect(ds1.index.toArray()).toEqual([2, 0, 3, 1, 4]); }); }); describe('round', function () { it('rounds a Series to 1 digit', function () { var ds = new _series2.default([1.1, 2.13, 2.25, 2.76]); var dsRound = ds.round(1); expect(dsRound).toBeInstanceOf(_series2.default); expect(dsRound.values.toArray()).toEqual([1.1, 2.1, 2.3, 2.8]); }); it('rounds a Series to 2 digits', function () { var ds = new _series2.default([1.1, 2.137, 2.255, 2.761]); var dsRound = ds.round(2); expect(dsRound).toBeInstanceOf(_series2.default); expect(dsRound.values.toArray()).toEqual([1.10, 2.14, 2.26, 2.76]); }); }); describe('_alignSeries', function () { it('properly aligns Series with the same index values', function () { var ds1 = new _series2.default(['hi', 'bye', 'test', 'foo', 'bar']); var ds2 = new _series2.default(['bye', 'hi', 'foo', 'test', 'bar']); var aligned = ds1._alignSeries(ds2); expect(aligned.size).toEqual(5); expect(aligned.getIn([0, 'first']).toArray()).toEqual(['hi']); expect(aligned.getIn([0, 'second']).toArray()).toEqual(['bye']); expect(aligned.getIn([1, 'first']).toArray()).toEqual(['bye']); expect(aligned.getIn([1, 'second']).toArray()).toEqual(['hi']); expect(aligned.getIn([2, 'first']).toArray()).toEqual(['test']); expect(aligned.getIn([2, 'second']).toArray()).toEqual(['foo']); expect(aligned.getIn([3, 'first']).toArray()).toEqual(['foo']); expect(aligned.getIn([3, 'second']).toArray()).toEqual(['test']); expect(aligned.getIn([4, 'first']).toArray()).toEqual(['bar']); expect(aligned.getIn([4, 'second']).toArray()).toEqual(['bar']); }); it('properly aligns Series with the differing index values', function () { var ds1 = new _series2.default(['hi', 'bye', 'test', 'foo', 'bar']); var ds2 = new _series2.default(['bye', 'hi', 'foo', 'test', 'bar']); var aligned = ds1._alignSeries(ds2); expect(aligned.size).toEqual(5); expect(aligned.getIn([0, 'first']).toArray()).toEqual(['hi']); expect(aligned.getIn([0, 'second']).toArray()).toEqual(['bye']); expect(aligned.getIn([1, 'first']).toArray()).toEqual(['bye']); expect(aligned.getIn([1, 'second']).toArray()).toEqual(['hi']); expect(aligned.getIn([2, 'first']).toArray()).toEqual(['test']); expect(aligned.getIn([2, 'second']).toArray()).toEqual(['foo']); expect(aligned.getIn([3, 'first']).toArray()).toEqual(['foo']); expect(aligned.getIn([3, 'second']).toArray()).toEqual(['test']); expect(aligned.getIn([4, 'first']).toArray()).toEqual(['bar']); expect(aligned.getIn([4, 'second']).toArray()).toEqual(['bar']); }); }); describe('where', function () { it('checks for equality of a scalar and returns a Series of dtype bool', function () { var ds1 = new _series2.default(['hi', 'bye', 'test', 'foo', 'bar']); var ds2 = ds1.where('hi', function (a, b) { return a === b; }); expect(ds2.values.toArray()).toEqual([true, false, false, false, false]); expect(ds2.dtype.dtype).toEqual('bool'); }); it('checks for equality of a Series and returns a Series of dtype bool', function () { var ds1 = new _series2.default(['hi', 'bye', 'test']); var ds2 = ds1.where(new _series2.default(['bye', 'bye', 'test']), function (a, b) { return a === b; }); expect(ds2.values.toArray()).toEqual([false, true, true]); expect(ds2.dtype.dtype).toEqual('bool'); }); }); describe('eq', function () { it('checks for equality of a scalar and returns a Series of dtype bool', function () { var ds1 = new _series2.default(['hi', 'bye', 'test', 'foo', 'bar']); var ds2 = ds1.eq('hi'); expect(ds2.values.toArray()).toEqual([true, false, false, false, false]); expect(ds2.dtype.dtype).toEqual('bool'); }); it('checks for equality of a Series and returns a Series of dtype bool', function () { var ds1 = new _series2.default(['hi', 'bye', 'test']); var ds2 = ds1.eq(new _series2.default(['bye', 'bye', 'test'])); expect(ds2.values.toArray()).toEqual([false, true, true]); expect(ds2.dtype.dtype).toEqual('bool'); }); }); describe('lt', function () { it('checks for less than of a scalar and returns a Series of dtype bool', function () { var ds1 = new _series2.default([1, 2, 3, 4]); var ds2 = ds1.lt(3); expect(ds2.values.toArray()).toEqual([true, true, false, false]); expect(ds2.dtype.dtype).toEqual('bool'); }); it('checks for less than of a Series and returns a Series of dtype bool', function () { var ds1 = new _series2.default([1, 2, 3, 4]); var ds2 = ds1.lt(new _series2.default([2, 3, 2, 2])); expect(ds2.values.toArray()).toEqual([true, true, false, false]); expect(ds2.dtype.dtype).toEqual('bool'); }); }); describe('lte', function () { it('checks for less than or equal to of a scalar and returns a Series of dtype bool', function () { var ds1 = new _series2.default([1, 2, 3, 4]); var ds2 = ds1.lte(3); expect(ds2.values.toArray()).toEqual([true, true, true, false]); expect(ds2.dtype.dtype).toEqual('bool'); }); it('checks for less than or equal to of a Series and returns a Series of dtype bool', function () { var ds1 = new _series2.default([2, 2, 3, 4]); var ds2 = ds1.lte(new _series2.default([2, 3, 2, 2])); expect(ds2.values.toArray()).toEqual([true, true, false, false]); expect(ds2.dtype.dtype).toEqual('bool'); }); }); describe('gt', function () { it('checks for greater than of a scalar and returns a Series of dtype bool', function () { var ds1 = new _series2.default([1, 2, 3, 4]); var ds2 = ds1.gt(3); expect(ds2.values.toArray()).toEqual([false, false, false, true]); expect(ds2.dtype.dtype).toEqual('bool'); }); it('checks for greater than of a Series and returns a Series of dtype bool', function () { var ds1 = new _series2.default([1, 2, 3, 4]); var ds2 = ds1.gt(new _series2.default([2, 3, 2, 2])); expect(ds2.values.toArray()).toEqual([false, false, true, true]); expect(ds2.dtype.dtype).toEqual('bool'); }); }); describe('gte', function () { it('checks for greater than or equal of a scalar and returns a Series of dtype bool', function () { var ds1 = new _series2.default([1, 2, 3, 4]); var ds2 = ds1.gte(3); expect(ds2.values.toArray()).toEqual([false, false, true, true]); expect(ds2.dtype.dtype).toEqual('bool'); }); it('checks for greater than or equal of a Series and returns a Series of dtype bool', function () { var ds1 = new _series2.default([2, 2, 3, 4]); var ds2 = ds1.gte(new _series2.default([2, 3, 2, 2])); expect(ds2.values.toArray()).toEqual([true, false, true, true]); expect(ds2.dtype.dtype).toEqual('bool'); }); }); describe('notnull', function () { it('returns a Series with true if value is not null, false otherwise', function () { var ds = new _series2.default([1, 2, null, null, 4]); expect(ds.notnull()).toBeInstanceOf(_series2.default); expect(ds.notnull().values.toArray()).toEqual([true, true, false, false, true]); }); }); describe('shift', function () { it('returns a copy of the Series if the periods === 0', function () { var ds1 = new _series2.default([2, 2, 3, 4]); expect(ds1.shift(0).values.toArray()).toEqual([2, 2, 3, 4]); }); it('returns a shifted array if the periods > 0', function () { var ds1 = new _series2.default([2, 2, 3, 4]); expect(ds1.shift(1).values.toArray()).toEqual([null, 2, 2, 3]); }); it('returns a shifted array if the periods < 0', function () { var ds1 = new _series2.default([2, 2, 3, 4]); expect(ds1.shift(-1).values.toArray()).toEqual([2, 3, 4, null]); }); }); describe('unique', function () { it('returns unique floats', function () { var ds1 = new _series2.default([2, 3.1, 2.1, 3.1, 3.1, 4.3]); expect(ds1.unique().toArray()).toEqual([2, 3.1, 2.1, 4.3]); }); it('returns unique strings', function () { var ds1 = new _series2.default(['foo', 'bar', 'bar', 'foo', 'foo', 'test', 'bar', 'hi']); expect(ds1.unique().toArray()).toEqual(['foo', 'bar', 'test', 'hi']); }); }); describe('filter', function () { it('filters with a simple eq check', function () { var ds = new _series2.default([1, 2, 3, 4, 1]); var dsFilter = ds.filter(ds.eq(1)); expect(dsFilter.length).toEqual(2); expect(dsFilter.values.toArray()).toEqual([1, 1]); expect(dsFilter.index.toArray()).toEqual([0, 4]); }); it('filters with a custom where', function () { var ds = new _series2.default([1, 2, 3, 4, 1]); var dsFilter = ds.filter(ds.where(2, function (a, b) { return a * 2 > b; })); expect(dsFilter.length).toEqual(3); expect(dsFilter.values.toArray()).toEqual([2, 3, 4]); expect(dsFilter.index.toArray()).toEqual([1, 2, 3]); }); }); describe('cov', function () { it('calculates the covariance between this Series and another', function () { var ds1 = new _series2.default([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]); var ds2 = new _series2.default([-10, -8, -6, -4, -2, 0, 2, 4, 6, 8]); var cov = ds1.cov(ds2); expect(cov).toBeCloseTo(18.3333333, 6); }); it('throws an error if the Series are not equal length', function () { var ds1 = new _series2.default([1, 2, 3, 4]); var ds2 = new _series2.default([2, 3, 4]); expect(function () { ds1.cov(ds2); }).toThrow(); }); }); describe('corr', function () { it('calculates the correlation between this Series and another', function () { var ds1 = new _series2.default([1, 2, 3, 4, 5]); var ds2 = new _series2.default([-10, -8, -6, -4, -2]); var corr = ds1.corr(ds2); expect(corr).toBeCloseTo(1, 8); }); it('throws an error if the Series are not equal length', function () { var ds1 = new _series2.default([1, 2, 3, 4]); var ds2 = new _series2.default([2, 3, 4]); expect(function () { ds1.corr(ds2); }).toThrow(); }); }); describe('to_json', function () { it('converts a pandas Series to a json object', function () { var ds = new _series2.default([1, 2, 3, 4], { name: 'x' }); var dsJSON = ds.to_json(); expect(dsJSON).toEqual({ 0: 1, 1: 2, 2: 3, 3: 4 }); }); it('converts a pandas Series to a json object when orient="records"', function () { var ds = new _series2.default([1, 2, 3, 4], { name: 'x' }); var dsJSON = ds.to_json({ orient: 'records' }); expect(dsJSON).toEqual([1, 2, 3, 4]); }); it('converts a pandas Series to a json object when orient="split"', function () { var ds = new _series2.default([1, 2, 3, 4], { name: 'x' }); var dsJSON = ds.to_json({ orient: 'split' }); expect(dsJSON).toEqual({ name: 'x', index: [0, 1, 2, 3], values: [1, 2, 3, 4] }); }); }); describe('cumulative functions', function () { it('cumsum', function () { var ds = new _series2.default([1, 2, 3, 4, 5], { index: [2, 3, 4, 5, 6] }); var ds2 = ds.cumsum(); expect(ds2).toBeInstanceOf(_series2.default); expect(ds2.values.toArray()).toEqual([1, 3, 6, 10, 15]); expect(ds2.index.toArray()).toEqual([2, 3, 4, 5, 6]); }); it('cummul', function () { var ds = new _series2.default([1, 2, 3, 4, 5], { index: [2, 3, 4, 5, 6] }); var ds2 = ds.cummul(); expect(ds2).toBeInstanceOf(_series2.default); expect(ds2.values.toArray()).toEqual([1, 2, 6, 24, 120]); expect(ds2.index.toArray()).toEqual([2, 3, 4, 5, 6]); }); it('cummax', function () { var ds = new _series2.default([1, 2, 6, 4, 5], { index: [2, 3, 4, 5, 6] }); var ds2 = ds.cummax(); expect(ds2).toBeInstanceOf(_series2.default); expect(ds2.values.toArray()).toEqual([1, 2, 6, 6, 6]); expect(ds2.index.toArray()).toEqual([2, 3, 4, 5, 6]); }); it('cummin', function () { var ds = new _series2.default([3, 2, 6, 1, 5], { index: [2, 3, 4, 5, 6] }); var ds2 = ds.cummin(); expect(ds2).toBeInstanceOf(_series2.default); expect(ds2.values.toArray()).toEqual([3, 2, 2, 1, 1]); expect(ds2.index.toArray()).toEqual([2, 3, 4, 5, 6]); }); }); }); describe('append', function () { it('Appends a Series to another when ignore_index is false', function () { var ds1 = new _series2.default([1, 2, 3], { index: [1, 2, 3] }); var ds2 = new _series2.default([2, 3, 4], { index: [2, 3, 4] }); var ds3 = ds1.append(ds2); expect(ds3.values.toArray()).toEqual([1, 2, 3, 2, 3, 4]); expect(ds3.index.toArray()).toEqual([1, 2, 3, 2, 3, 4]); }); it('Appends a Series to another when ignore_index is true', function () { var ds1 = new _series2.default([1, 2, 3], { index: [1, 2, 3] }); var ds2 = new _series2.default([2, 3, 4], { index: [2, 3, 4] }); var ds3 = ds1.append(ds2, true); expect(ds3.values.toArray()).toEqual([1, 2, 3, 2, 3, 4]); expect(ds3.index.toArray()).toEqual([0, 1, 2, 3, 4, 5]); }); }); }); //# sourceMappingURL=series.js.map