UNPKG

excel-as-json

Version:
74 lines (66 loc) 2.29 kB
// Generated by CoffeeScript 2.2.4 (function() { var _removeDuplicates, chai, expect, transpose; transpose = require('../lib/excel-as-json').transpose; // TODO: How to get chai defined in a more global way chai = require('chai'); chai.should(); expect = chai.expect; _removeDuplicates = function(array) { var i, key, ref, set; set = {}; for (key = i = 0, ref = array.length - 1; (0 <= ref ? i <= ref : i >= ref); key = 0 <= ref ? ++i : --i) { set[array[key]] = array[key]; } return (function() { var results; results = []; for (key in set) { results.push(key); } return results; })(); }; describe('transpose', function() { var rectangleTall, rectangleWide, square; square = [['one', 'two', 'three'], ['one', 'two', 'three'], ['one', 'two', 'three']]; rectangleWide = [['one', 'two', 'three'], ['one', 'two', 'three']]; rectangleTall = [['one', 'two'], ['one', 'two'], ['one', 'two']]; it('should transpose square 2D arrays', function() { var i, len, result, results, row; result = transpose(square); result.length.should.equal(3); results = []; for (i = 0, len = result.length; i < len; i++) { row = result[i]; row.length.should.equal(3); results.push(_removeDuplicates(row).length.should.equal(1)); } return results; }); it('should transpose wide rectangular 2D arrays', function() { var i, len, result, results, row; result = transpose(rectangleWide); result.length.should.equal(3); results = []; for (i = 0, len = result.length; i < len; i++) { row = result[i]; row.length.should.equal(2); results.push(_removeDuplicates(row).length.should.equal(1)); } return results; }); return it('should transpose tall rectangular 2D arrays', function() { var i, len, result, results, row; result = transpose(rectangleTall); result.length.should.equal(2); results = []; for (i = 0, len = result.length; i < len; i++) { row = result[i]; row.length.should.equal(3); results.push(_removeDuplicates(row).length.should.equal(1)); } return results; }); }); }).call(this);