UNPKG

lodash-transpose

Version:

Adds matrix transpose functionality to lodash.

52 lines (37 loc) 1.43 kB
"use strict"; // Required node modules var expect = require("chai").expect; // Required files var _ = require("../index.js"); describe("lodash.transpose", function () { it("should return the original array for an empty array", function () { var testArray = []; var expectedResults = []; expect(_.transpose(testArray)).to.eql(expectedResults); }); it("should return the original array for a non-matrix", function () { var testArray = [[1, 2], [2]]; var expectedResults = [[1, 2], [2]]; expect(_.transpose(testArray)).to.eql(expectedResults); }); it("should return the original array for 1 by 1 matrix", function () { var testArray = [[1]]; var expectedResults = [[1]]; expect(_.transpose(testArray)).to.eql(expectedResults); }); it("should return an n by 1 for a 1 by n matrix", function () { var testArray = [[1, 2]]; var expectedResults = [[1], [2]]; expect(_.transpose(testArray)).to.eql(expectedResults); }); it("should return an 1 by n for a n by 1 matrix", function () { var testArray = [[1], [2]]; var expectedResults = [[1, 2]]; expect(_.transpose(testArray)).to.eql(expectedResults); }); it("should return an m by n matrix for an n by m matrix", function () { var testArray = [[1, 2, 3], [4, 5, 6]]; var expectedResults = [[1, 4], [2, 5], [3, 6]]; expect(_.transpose(testArray)).to.eql(expectedResults); }); });