UNPKG

@froalacharts/datatable

Version:

In memory tabular data storage

1 lines 5.29 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _interopRequireWildcard=require("@babel/runtime/helpers/interopRequireWildcard");var _cars=require("../../sample/data/cars");var _sort=_interopRequireWildcard(require("./sort"));var _datatableSortUtils=_interopRequireDefault(require("./datatable-sort-utils"));describe("Binary insertion sort - ",(function(){var numberArr=[5,1,2,4,9,2,1,5,9,3,2];it("Tests if it properly sorts in ascending order - ",(function(){var numberDup=numberArr.slice(0);(0,_sort.binaryInsertionSort)(numberDup);expect(numberDup).toEqual([1,1,2,2,2,3,4,5,5,9,9])}));it("Tests if it properly sorts in descending order - ",(function(){var numberDup=numberArr.slice(0);(0,_sort.binaryInsertionSort)(numberDup,(function(a,b){return b-a}));expect(numberDup).toEqual([1,1,2,2,2,3,4,5,5,9,9].reverse())}));it("Tests if it the sort is stable - ",(function(){var numberDup=_cars.data5rows.slice(0),nameArr;(0,_sort.binaryInsertionSort)(numberDup,(function(a,b){return a[1]-b[1]}));nameArr=numberDup.map((function(x){return x[0]}));expect(nameArr).toEqual(["buick skylark 320","amc rebel sst","ford torino","chevrolet chevelle malibu","plymouth satellite"])}))}));describe("Tim sort on number column - ascending order ",(function(){var carsDataCopy=_cars.carsData.slice(0);(0,_sort["default"])(carsDataCopy,(function(a,b){return a.Miles_per_Gallon-b.Miles_per_Gallon}));it("sorts the array in ascending order",(function(){expect((0,_datatableSortUtils["default"])(carsDataCopy,(function(a,b){return a.Miles_per_Gallon-b.Miles_per_Gallon}))).toBe(true)}));it("is a stable sort",(function(){expect(carsDataCopy.filter((function(x){return x.Miles_per_Gallon===27})).map((function(x){return x.Name}))).toEqual(["datsun pl510","datsun pl510","volkswagen model 111","toyota corolla 1600 (sw)","renault 12tl","chevrolet cavalier wagon","pontiac phoenix","chevrolet camaro","ford mustang gl"])}))}));describe("Tim sort on number column - descending order ",(function(){var carsDataCopy=_cars.carsData.slice(0);(0,_sort["default"])(carsDataCopy,(function(a,b){return b.Miles_per_Gallon-a.Miles_per_Gallon}));it("sorts the array in descending order",(function(){expect((0,_datatableSortUtils["default"])(carsDataCopy,(function(a,b){return b.Miles_per_Gallon-a.Miles_per_Gallon}))).toBe(true)}));it("is a stable sort",(function(){expect(carsDataCopy.filter((function(x){return x.Miles_per_Gallon===27})).map((function(x){return x.Name}))).toEqual(["datsun pl510","datsun pl510","volkswagen model 111","toyota corolla 1600 (sw)","renault 12tl","chevrolet cavalier wagon","pontiac phoenix","chevrolet camaro","ford mustang gl"])}))}));describe("Tim sort on string column - ascending order ",(function(){var carsDataCopy=_cars.carsData.slice(0);(0,_sort["default"])(carsDataCopy,(function(a,b){return a.Name.localeCompare(b.Name)}));it("sorts the array in descending order",(function(){expect((0,_datatableSortUtils["default"])(carsDataCopy,(function(a,b){return a.Name.localeCompare(b.Name)}))).toBe(true)}));it("sorts the array in descending order - first element check",(function(){expect(carsDataCopy[0].Name).toBe("amc ambassador brougham")}))}));describe("Merge sort on number column - ascending order ",(function(){var carsDataCopy=(0,_sort.mergeSort)(_cars.carsData,(function(a,b){return a.Miles_per_Gallon-b.Miles_per_Gallon}));it("sorts the array in ascending order",(function(){expect((0,_datatableSortUtils["default"])(carsDataCopy,(function(a,b){return a.Miles_per_Gallon-b.Miles_per_Gallon}))).toBe(true)}));it("is a stable sort",(function(){expect(carsDataCopy.filter((function(x){return x.Miles_per_Gallon===27})).map((function(x){return x.Name}))).toEqual(["datsun pl510","datsun pl510","volkswagen model 111","toyota corolla 1600 (sw)","renault 12tl","chevrolet cavalier wagon","pontiac phoenix","chevrolet camaro","ford mustang gl"])}));it("does not change the original array",(function(){expect(_cars.carsData[0].Name).toBe("chevrolet chevelle malibu");expect(carsDataCopy[0].Name).toBe("citroen ds-21 pallas")}))}));describe("Merge sort on number column - descending order ",(function(){var carsDataCopy=(0,_sort.mergeSort)(_cars.carsData,(function(a,b){return b.Miles_per_Gallon-a.Miles_per_Gallon}));it("sorts the array in descending order",(function(){expect((0,_datatableSortUtils["default"])(carsDataCopy,(function(a,b){return b.Miles_per_Gallon-a.Miles_per_Gallon}))).toBe(true)}));it("is a stable sort",(function(){expect(carsDataCopy.filter((function(x){return x.Miles_per_Gallon===27})).map((function(x){return x.Name}))).toEqual(["datsun pl510","datsun pl510","volkswagen model 111","toyota corolla 1600 (sw)","renault 12tl","chevrolet cavalier wagon","pontiac phoenix","chevrolet camaro","ford mustang gl"])}))}));describe("Merge sort on string column - ascending order ",(function(){var carsDataCopy=(0,_sort.mergeSort)(_cars.carsData,(function(a,b){return a.Name.localeCompare(b.Name)}));it("sorts the array in descending order",(function(){expect((0,_datatableSortUtils["default"])(carsDataCopy,(function(a,b){return a.Name.localeCompare(b.Name)}))).toBe(true)}));it("sorts the array in descending order - first element check",(function(){expect(carsDataCopy[0].Name).toBe("amc ambassador brougham")}))}));