12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- describe('util/model', function() {
- var utHelper = window.utHelper;
- var testCase = utHelper.prepare(['echarts/src/util/model', 'echarts/src/model/Model']);
- describe('compressBatches', function () {
- function item(seriesId, dataIndex) {
- return {seriesId: seriesId, dataIndex: dataIndex};
- }
- testCase('base', function (modelUtil) {
- // Remove dupliate between A and B
- expect(modelUtil.compressBatches(
- [item(3, 4), item(3, 5), item(4, 5)],
- [item(4, 6), item(4, 5), item(3, 3), item(3, 4)]
- )).toEqual([
- [item('3', [5])],
- [item('3', [3]), item('4', [6])]
- ]);
- // Compress
- expect(modelUtil.compressBatches(
- [item(3, 4), item(3, 6), item(3, 5), item(4, 5)],
- [item(4, 6), item(4, 5), item(3, 3), item(3, 4), item(4, 7)]
- )).toEqual([
- [item('3', [5, 6])],
- [item('3', [3]), item('4', [6, 7])]
- ]);
- // Remove duplicate in themselves
- expect(modelUtil.compressBatches(
- [item(3, 4), item(3, 6), item(3, 5), item(4, 5)],
- [item(4, 6), item(4, 5), item(3, 3), item(3, 4), item(4, 7), item(4, 6)]
- )).toEqual([
- [item('3', [5, 6])],
- [item('3', [3]), item('4', [6, 7])]
- ]);
- // dataIndex is array
- expect(modelUtil.compressBatches(
- [item(3, [4, 5, 8]), item(4, 4), item(3, [5, 7, 7])],
- [item(3, [8, 9])]
- )).toEqual([
- [item('3', [4, 5, 7]), item('4', [4])],
- [item('3', [9])]
- ]);
- // empty
- expect(modelUtil.compressBatches(
- [item(3, [4, 5, 8]), item(4, 4), item(3, [5, 7, 7])],
- []
- )).toEqual([
- [item('3', [4, 5, 7, 8]), item('4', [4])],
- []
- ]);
- expect(modelUtil.compressBatches(
- [],
- [item(3, [4, 5, 8]), item(4, 4), item(3, [5, 7, 7])]
- )).toEqual([
- [],
- [item('3', [4, 5, 7, 8]), item('4', [4])]
- ]);
- // should not has empty array
- expect(modelUtil.compressBatches(
- [item(3, [4, 5, 8])],
- [item(3, [4, 5, 8])]
- )).toEqual([
- [],
- []
- ]);
- });
- });
- });
|