const
    Matrix = require('../index.js').Matrix;
    should = require('should');

describe('Matrix', function() {
  var mat;

  it('#Matrix() should be a function', function() {
    Matrix.should.be.a.Function;
  });

  it('should throw error when tried creating matrix without rows and columns arguments', function() {
    (function() { new Matrix(); }).should.throw();
    (function() { new Matrix(1); }).should.throw();
    (function() { new Matrix(1, 2); }).should.not.throw();
  });

  it('should be invoked with arguments rows and columns and return an object', function() {
    Matrix(1,2).should.be.an.Object;
    (new Matrix(3, 4)).should.be.an.Object;
  });

  it('#Matrix(3, 2) should return the matrix of size 3x2', function() {
    mat = Matrix(3, 2);
    mat.rows().should.equal(3);
    mat.cols().should.equal(2);
  })
});

@@ -827,13 +827,710 @@
 2);%0A  %7D)
+%0A%0A  beforeEach(function() %7B%0A    mat = Matrix(3, 3);%0A    mat.set(0, 0, 1);%0A    mat.set(0, 1, 2);%0A    mat.set(0, 2, 3);%0A    mat.set(1, 0, 4);%0A    mat.set(1, 1, 5);%0A    mat.set(1, 2, 6);%0A    mat.set(2, 0, 7);%0A    mat.set(2, 1, 8);%0A    mat.set(2, 2, 9);%0A  %7D);%0A%0A  it('#get() should return the element value of Matrix', function() %7B%0A    mat.get(0, 0).should.equal(1);%0A    mat.get(0, 1).should.equal(2);%0A    mat.get(0, 2).should.equal(3);%0A    mat.get(1, 0).should.equal(4);%0A    mat.get(1, 1).should.equal(5);%0A    mat.get(1, 2).should.equal(6);%0A    mat.get(2, 0).should.equal(7);%0A    mat.get(2, 1).should.equal(8);%0A    mat.get(2, 2).should.equal(9);%0A    mat.get().should.equal(%221 2 3%5Cn4 5 6%5Cn7 8 9%22);%0A  %7D)
 %0A%7D);%0A

test Matrix methods 'set()' and 'get()'