Sha256: f68eb0f511d27d40e391cd2282c654569cfaccc58e8a2286f075a77bfa34d998

Contents?: true

Size: 1.68 KB

Versions: 31

Compression:

Stored size: 1.68 KB

Contents

require("../env");
require("../../d3");

var vows = require("vows"),
    assert = require("assert");

var suite = vows.describe("d3.quantile");

suite.addBatch({
  "quantile": {
    topic: function() {
      return d3.quantile;
    },
    "requires sorted numeric input": function(quantile) {
      assert.equal(quantile([1, 2, 3, 4], 0), 1);
      assert.equal(quantile([1, 2, 3, 4], 1), 4);
      assert.equal(quantile([4, 3, 2, 1], 0), 4);
      assert.equal(quantile([4, 3, 2, 1], 1), 1);
    },
    "uses the R-7 algorithm": function(quantile) {
      var data = [3, 6, 7, 8, 8, 10, 13, 15, 16, 20];
      assert.equal(quantile(data, 0), 3);
      assert.equal(quantile(data, .25), 7.25);
      assert.equal(quantile(data, .5), 9);
      assert.equal(quantile(data, .75), 14.5);
      assert.equal(quantile(data, 1), 20);
      var data = [3, 6, 7, 8, 8, 9, 10, 13, 15, 16, 20];
      assert.equal(quantile(data, 0), 3);
      assert.equal(quantile(data, .25), 7.5);
      assert.equal(quantile(data, .5), 9);
      assert.equal(quantile(data, .75), 14);
      assert.equal(quantile(data, 1), 20);
    },
    "returns an exact value for integer p-values": function(quantile) {
      var a = {}, b = {}, c = {}, d = {}, data = [a, b, c, d];
      assert.equal(quantile(data, 1/3), b);
      assert.equal(quantile(data, 2/3), c);
    },
    "returns the first value for p = 0": function(quantile) {
      var a = {}, b = {}, c = {}, d = {}, data = [a, b, c, d];
      assert.equal(quantile(data, 0), a);
    },
    "returns the last value for p = 1": function(quantile) {
      var a = {}, b = {}, c = {}, d = {}, data = [a, b, c, d];
      assert.equal(quantile(data, 1), d);
    }
  }
});

suite.export(module);

Version data entries

31 entries across 31 versions & 2 rubygems

Version Path
picky-statistics-4.5.0 lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js
picky-statistics-4.4.2 lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js
picky-statistics-4.4.1 lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js
picky-statistics-4.4.0 lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js
picky-statistics-4.3.2 lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js
picky-statistics-4.3.1 lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js
picky-statistics-4.3.0 lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js
picky-statistics-4.2.4 lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js
picky-statistics-4.2.3 lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js
picky-statistics-4.2.2 lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js
picky-statistics-4.2.1 lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js
picky-statistics-4.2.0 lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js
picky-statistics-4.1.0 lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js
picky-statistics-4.0.9 lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js
picky-statistics-4.0.8 lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js
picky-statistics-4.0.7 lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js
picky-statistics-4.0.6 lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js
picky-statistics-4.0.5 lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js
picky-statistics-4.0.4 lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js
picky-statistics-4.0.3 lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js