time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

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);