model.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. describe('util/model', function() {
  2. var utHelper = window.utHelper;
  3. var testCase = utHelper.prepare(['echarts/src/util/model', 'echarts/src/model/Model']);
  4. describe('compressBatches', function () {
  5. function item(seriesId, dataIndex) {
  6. return {seriesId: seriesId, dataIndex: dataIndex};
  7. }
  8. testCase('base', function (modelUtil) {
  9. // Remove dupliate between A and B
  10. expect(modelUtil.compressBatches(
  11. [item(3, 4), item(3, 5), item(4, 5)],
  12. [item(4, 6), item(4, 5), item(3, 3), item(3, 4)]
  13. )).toEqual([
  14. [item('3', [5])],
  15. [item('3', [3]), item('4', [6])]
  16. ]);
  17. // Compress
  18. expect(modelUtil.compressBatches(
  19. [item(3, 4), item(3, 6), item(3, 5), item(4, 5)],
  20. [item(4, 6), item(4, 5), item(3, 3), item(3, 4), item(4, 7)]
  21. )).toEqual([
  22. [item('3', [5, 6])],
  23. [item('3', [3]), item('4', [6, 7])]
  24. ]);
  25. // Remove duplicate in themselves
  26. expect(modelUtil.compressBatches(
  27. [item(3, 4), item(3, 6), item(3, 5), item(4, 5)],
  28. [item(4, 6), item(4, 5), item(3, 3), item(3, 4), item(4, 7), item(4, 6)]
  29. )).toEqual([
  30. [item('3', [5, 6])],
  31. [item('3', [3]), item('4', [6, 7])]
  32. ]);
  33. // dataIndex is array
  34. expect(modelUtil.compressBatches(
  35. [item(3, [4, 5, 8]), item(4, 4), item(3, [5, 7, 7])],
  36. [item(3, [8, 9])]
  37. )).toEqual([
  38. [item('3', [4, 5, 7]), item('4', [4])],
  39. [item('3', [9])]
  40. ]);
  41. // empty
  42. expect(modelUtil.compressBatches(
  43. [item(3, [4, 5, 8]), item(4, 4), item(3, [5, 7, 7])],
  44. []
  45. )).toEqual([
  46. [item('3', [4, 5, 7, 8]), item('4', [4])],
  47. []
  48. ]);
  49. expect(modelUtil.compressBatches(
  50. [],
  51. [item(3, [4, 5, 8]), item(4, 4), item(3, [5, 7, 7])]
  52. )).toEqual([
  53. [],
  54. [item('3', [4, 5, 7, 8]), item('4', [4])]
  55. ]);
  56. // should not has empty array
  57. expect(modelUtil.compressBatches(
  58. [item(3, [4, 5, 8])],
  59. [item(3, [4, 5, 8])]
  60. )).toEqual([
  61. [],
  62. []
  63. ]);
  64. });
  65. });
  66. });