geomean-test.js (1486B)
1 var vows = require('vows'); 2 var assert = require('assert'); 3 var suite = vows.describe('jStat.geomean'); 4 5 require('../env.js'); 6 7 suite.addBatch({ 8 'geomean': { 9 'topic': function() { 10 return jStat; 11 }, 12 'return basic geomean': function(jStat) { 13 assert.equal(jStat.geomean([1, 2, 3]), 1.8171205928321397); 14 }, 15 'geomean from instance': function(jStat) { 16 assert.equal(jStat([1, 2, 3]).geomean(), 1.8171205928321397); 17 }, 18 'geomean matrix cols': function(jStat) { 19 assert.deepEqual(jStat([[1, 2], [3, 4]]).geomean(), 20 [1.7320508075688772, 2.8284271247461903]); 21 }, 22 'geomean full matrix': function(jStat) { 23 assert.equal(jStat([[1, 2], [3, 4]]).geomean(true), 2.2133638394006434); 24 } 25 }, 26 '#geomean vector': { 27 'topic': function() { 28 jStat([1, 2, 3]).geomean(this.callback); 29 }, 30 'geomean callback': function(val, stat) { 31 assert.equal(val, 1.8171205928321397); 32 } 33 }, 34 '#geomean matrix cols': { 35 'topic': function() { 36 jStat([[1, 2], [3, 4]]).geomean(this.callback); 37 }, 38 'geomean matrix cols callback': function(val, stat) { 39 assert.deepEqual(val, [1.7320508075688772, 2.8284271247461903]); 40 } 41 }, 42 '#geomean full matrix': { 43 'topic': function() { 44 jStat([[1, 2], [3, 4]]).geomean(true, this.callback); 45 }, 46 'geomean full matrix callback': function(val, stat) { 47 assert.equal(val, 2.2133638394006434); 48 } 49 } 50 }); 51 52 suite.export(module);