it("should not return null column names from null values", () => { let data = makeData([[null, null, 1]]); let pivotedData = pivot(data, 0, 1, 2); console.log("pivotedData", pivotedData); expect(pivotedData.rows.length).toEqual(1); expect(pivotedData.cols.length).toEqual(2); expect(pivotedData.cols[0].name).toEqual(jasmine.any(String)); expect(pivotedData.cols[0].display_name).toEqual(jasmine.any(String)); expect(pivotedData.cols[1].name).toEqual(jasmine.any(String)); expect(pivotedData.cols[1].display_name).toEqual(jasmine.any(String)); });
it("should pivot values correctly", () => { let data = makeData([ ["a", "x", 1], ["a", "y", 2], ["a", "z", 3], ["b", "x", 4], ["b", "y", 5], ["b", "z", 6] ]) let pivotedData = pivot(data); expect(pivotedData.cols.length).toEqual(3); expect(pivotedData.rows.map(row => [...row])).toEqual([ ["x", 1, 4], ["y", 2, 5], ["z", 3, 6] ]); })
it("should infer sort order of sparse data correctly", () => { let data = makeData([ ["a", "x", 1], ["a", "z", 3], ["b", "x", 4], ["b", "y", 5], ["b", "z", 6], ]); let pivotedData = pivot(data, 0, 1, 2); expect(pivotedData.cols.map(col => col.display_name)).toEqual([ "Dimension 1", "x", "y", "z", ]); expect(pivotedData.rows.map(row => [...row])).toEqual([ ["a", 1, null, 3], ["b", 4, 5, 6], ]); });
it("should pivot values correctly with columns flipped", () => { let data = makeData([ ["a", "x", 1], ["a", "y", 2], ["a", "z", 3], ["b", "x", 4], ["b", "y", 5], ["b", "z", 6], ]); let pivotedData = pivot(data, 1, 0, 2); expect(pivotedData.cols.map(col => col.display_name)).toEqual([ "Dimension 2", "a", "b", ]); expect(pivotedData.rows.map(row => [...row])).toEqual([ ["x", 1, 4], ["y", 2, 5], ["z", 3, 6], ]); });