aug-test.js (875B)
1 var vows = require('vows'); 2 var assert = require('assert'); 3 var suite = vows.describe('jStat'); 4 5 require('../env.js'); 6 7 suite.addBatch({ 8 'linearalgebra': { 9 'topic': function() { 10 return jStat; 11 }, 12 'aug function works': function(jStat) { 13 var A = jStat([[1, 2], [3, 4]]); 14 var B = [[5], [6]]; 15 assert.deepEqual(jStat.aug(A, B), [[1, 2, 5], [3, 4, 6]]); 16 }, 17 'aug no mutate inputs': function(jStat) { 18 var A = [[1, 2], [3, 4]]; 19 var B = [[5, 6], [7, 8]]; 20 var cloneA = cloneMatrix(A); 21 var cloneB = cloneMatrix(B); 22 assert.deepEqual(jStat.aug(A, B), [[1, 2, 5, 6], [3, 4, 7, 8]]); 23 assert.deepEqual(A, cloneA); 24 assert.deepEqual(B, cloneB); 25 }, 26 } 27 }); 28 29 function cloneMatrix(m) { 30 var n = []; 31 for (var i = 0; i < m.length; i++) { 32 n.push(m[i].slice()); 33 } 34 return n; 35 } 36 37 suite.export(module);