@froalacharts/datatable
Version:
In memory tabular data storage
1 lines • 5.46 kB
JavaScript
;var _cars=require("../../sample/data/cars");var _selectFilter=require("./select-filter");var shortData=[].concat(_cars.data5rows,_cars.data5rows).sort((function(a,b){return a[1]-b[1]}));describe("Select - 3 columns only",(function(){var selOps=(0,_selectFilter.select)(["Name","Miles_per_Gallon","Origin"]),resultDt=selOps.fn(shortData,_cars.schema),selOps2=(0,_selectFilter.select)(["Name","Miles_per_Gallon","Name"]),resultDt2=selOps2.fn(shortData,_cars.schema),selOps3=(0,_selectFilter.select)(["Name","Color","Miles_per_Gallon","Mileage"]),resultDt3=selOps3.fn(shortData,_cars.schema);it("Number of columns in schema should be 3",(function(){expect(resultDt.schema.length).toBe(3)}));it("Column names in new schema must match",(function(){expect(resultDt.schema[0].name).toBe("Name");expect(resultDt.schema[1].name).toBe("Miles_per_Gallon");expect(resultDt.schema[2].name).toBe("Origin")}));it("Number of columns in schema should be 2",(function(){expect(resultDt2.schema.length).toBe(2)}));it("Column names in new schema must match",(function(){expect(resultDt.schema[0].name).toBe("Name");expect(resultDt.schema[1].name).toBe("Miles_per_Gallon")}));it("Number of columns in schema should be 2",(function(){expect(resultDt2.schema.length).toBe(2)}));it("Extra columns are not included",(function(){expect(resultDt3.schema.length).toBe(2);expect(resultDt3.schema[0].name).toBe("Name");expect(resultDt3.schema[1].name).toBe("Miles_per_Gallon")}))}));describe("Select - withe different ordering",(function(){var selOps=(0,_selectFilter.select)(["Origin","Miles_per_Gallon","Name"]),resultDt=selOps.fn(shortData,_cars.schema);it("Column names in new schema must match",(function(){expect(resultDt.schema[0].name).toBe("Origin");expect(resultDt.schema[1].name).toBe("Miles_per_Gallon");expect(resultDt.schema[2].name).toBe("Name")}));it("Data should be ordered accordingly",(function(){var result=resultDt.generatorFn();expect(result[0][0]).toBe("USA");expect(result[0][1]).toBe(15);expect(result[0][2]).toBe("buick skylark 320")}))}));describe("Select - inclusion, exclusion tests",(function(){it("Include columns with default exclude option value false",(function(){var selOps=(0,_selectFilter.select)(["Name","Miles_per_Gallon","Origin"]),resultDt=selOps.fn(shortData,_cars.schema);expect(resultDt.schema.length).toBe(3);expect(resultDt.generatorFn()[0].length).toBe(3);expect(resultDt.schema[0].name).toBe("Name");expect(resultDt.schema[1].name).toBe("Miles_per_Gallon");expect(resultDt.schema[2].name).toBe("Origin")}));it("Include columns with exclude option value false",(function(){var selOps=(0,_selectFilter.select)(["Name","Miles_per_Gallon","Origin"],{exclude:false}),resultDt=selOps.fn(shortData,_cars.schema);expect(resultDt.schema.length).toBe(3);expect(resultDt.generatorFn()[0].length).toBe(3);expect(resultDt.schema[0].name).toBe("Name");expect(resultDt.schema[1].name).toBe("Miles_per_Gallon");expect(resultDt.schema[2].name).toBe("Origin")}));it("Include columns with exclude option value true",(function(){var selOps=(0,_selectFilter.select)(["Name","Miles_per_Gallon","Origin","Cylinders","Horsepower"],{exclude:true}),resultDt=selOps.fn(shortData,_cars.schema);expect(resultDt.schema.length).toBe(4);expect(resultDt.generatorFn()[0].length).toBe(4);expect(resultDt.schema[0].name).toBe("Displacement");expect(resultDt.schema[1].name).toBe("Weight_in_lbs");expect(resultDt.schema[2].name).toBe("Acceleration");expect(resultDt.schema[3].name).toBe("Year")}));it("With no paramerters",(function(){var selOps=(0,_selectFilter.select)(),resultDt=selOps.fn(shortData,_cars.schema);expect(resultDt.schema.length).toBe(9);expect(resultDt.generatorFn()[0].length).toBe(9);expect(resultDt.schema[0].name).toBe("Name");expect(resultDt.schema[1].name).toBe("Miles_per_Gallon");expect(resultDt.schema[2].name).toBe("Cylinders");expect(resultDt.schema[3].name).toBe("Displacement");expect(resultDt.schema[4].name).toBe("Horsepower");expect(resultDt.schema[5].name).toBe("Weight_in_lbs");expect(resultDt.schema[6].name).toBe("Acceleration");expect(resultDt.schema[7].name).toBe("Year");expect(resultDt.schema[8].name).toBe("Origin")}));it("With no paramerters and exclude option value true",(function(){var selOps=(0,_selectFilter.select)(undefined,{exclude:true}),resultDt=selOps.fn(shortData,_cars.schema);expect(resultDt.schema.length).toBe(9);expect(resultDt.generatorFn()[0].length).toBe(9);expect(resultDt.schema[0].name).toBe("Name");expect(resultDt.schema[1].name).toBe("Miles_per_Gallon");expect(resultDt.schema[2].name).toBe("Cylinders");expect(resultDt.schema[3].name).toBe("Displacement");expect(resultDt.schema[4].name).toBe("Horsepower");expect(resultDt.schema[5].name).toBe("Weight_in_lbs");expect(resultDt.schema[6].name).toBe("Acceleration");expect(resultDt.schema[7].name).toBe("Year");expect(resultDt.schema[8].name).toBe("Origin")}))}));describe("DataTable operators - filter",(function(){var filterOps=(0,_selectFilter.filter)((function(row,columns){return row[columns.Miles_per_Gallon]===17})),resultFn=filterOps.fn(shortData,_cars.schema),resultDt=resultFn.generatorFn(),filterOps2=(0,_selectFilter.filter)((function(row,columns){return row[columns.Wrong_Name]===17})),resultFn2=filterOps2.fn(shortData,_cars.schema),resultDt2=resultFn2.generatorFn();it("Number of rows - should be 2",(function(){expect(resultDt.length).toBe(2)}));it("Number of rows - should be 0",(function(){expect(resultDt2.length).toBe(0)}))}));