~bcsaller/juju-gui/charmFind

« back to all changes in this revision

Viewing changes to lib/d3/test/core/quantile-test.js

  • Committer: kapil.foss at gmail
  • Date: 2012-07-13 18:45:59 UTC
  • Revision ID: kapil.foss@gmail.com-20120713184559-2xl7be17egsrz0c9
reshape

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
require("../env");
2
 
 
3
 
var vows = require("vows"),
4
 
    assert = require("assert");
5
 
 
6
 
var suite = vows.describe("d3.quantile");
7
 
 
8
 
suite.addBatch({
9
 
  "quantile": {
10
 
    topic: function() {
11
 
      return d3.quantile;
12
 
    },
13
 
    "requires sorted numeric input": function(quantile) {
14
 
      assert.equal(quantile([1, 2, 3, 4], 0), 1);
15
 
      assert.equal(quantile([1, 2, 3, 4], 1), 4);
16
 
      assert.equal(quantile([4, 3, 2, 1], 0), 4);
17
 
      assert.equal(quantile([4, 3, 2, 1], 1), 1);
18
 
    },
19
 
    "uses the R-7 algorithm": function(quantile) {
20
 
      var data = [3, 6, 7, 8, 8, 10, 13, 15, 16, 20];
21
 
      assert.equal(quantile(data, 0), 3);
22
 
      assert.equal(quantile(data, .25), 7.25);
23
 
      assert.equal(quantile(data, .5), 9);
24
 
      assert.equal(quantile(data, .75), 14.5);
25
 
      assert.equal(quantile(data, 1), 20);
26
 
      var data = [3, 6, 7, 8, 8, 9, 10, 13, 15, 16, 20];
27
 
      assert.equal(quantile(data, 0), 3);
28
 
      assert.equal(quantile(data, .25), 7.5);
29
 
      assert.equal(quantile(data, .5), 9);
30
 
      assert.equal(quantile(data, .75), 14);
31
 
      assert.equal(quantile(data, 1), 20);
32
 
    },
33
 
    "returns an exact value for integer p-values": function(quantile) {
34
 
      var a = {}, b = {}, c = {}, d = {}, data = [a, b, c, d];
35
 
      assert.equal(quantile(data, 1/3), b);
36
 
      assert.equal(quantile(data, 2/3), c);
37
 
    },
38
 
    "returns the first value for p = 0": function(quantile) {
39
 
      var a = {}, b = {}, c = {}, d = {}, data = [a, b, c, d];
40
 
      assert.equal(quantile(data, 0), a);
41
 
    },
42
 
    "returns the last value for p = 1": function(quantile) {
43
 
      var a = {}, b = {}, c = {}, d = {}, data = [a, b, c, d];
44
 
      assert.equal(quantile(data, 1), d);
45
 
    }
46
 
  }
47
 
});
48
 
 
49
 
suite.export(module);