toolkit/javascript/d3/test/svg/line-radial-test.js
author Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
Fri, 18 Apr 2014 14:31:58 +0200
changeset 51 79833eaa394a
parent 47 c0b4a8b5a012
permissions -rw-r--r--
set up second level for navigation
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
47
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
     1
require("../env");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
     2
require("../../d3");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
     3
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
     4
var vows = require("vows"),
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
     5
    assert = require("assert");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
     6
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
     7
var suite = vows.describe("d3.svg.line.radial");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
     8
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
     9
suite.addBatch({
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    10
  "line.radial": {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    11
    topic: function() {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    12
      return d3.svg.line.radial;
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    13
    },
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    14
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    15
    "radius defaults to a function accessor": function(line) {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    16
      var l = line();
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    17
      assert.pathEqual(l([[10, 0], [20, 1], [20, 2], [10, 3]]), "M0,-10L16.82941969615793,-10.806046117362794L18.185948536513635,8.32293673094285L1.4112000805986715,9.899924966004454");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    18
      assert.typeOf(l.radius(), "function");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    19
    },
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    20
    "radius can be defined as a constant": function(line) {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    21
      var l = line().radius(30);
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    22
      assert.pathEqual(l([[10, 0], [20, 1], [20, 2], [10, 3]]), "M0,-30L25.244129544236895,-16.20906917604419L27.278922804770453,12.484405096414275L4.233600241796014,29.699774898013363");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    23
      assert.equal(l.radius(), 30);
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    24
    },
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    25
    "radius can be defined as a function": function(line) {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    26
      var l = line().radius(f), t = {}, dd = [], ii = [], tt = [];
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    27
      function f(d, i) { dd.push(d); ii.push(i); tt.push(this); return 30; }
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    28
      assert.pathEqual(l.call(t, [[10, 0], [20, 1], [20, 2], [10, 3]]), "M0,-30L25.244129544236895,-16.20906917604419L27.278922804770453,12.484405096414275L4.233600241796014,29.699774898013363");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    29
      assert.deepEqual(dd, [[10, 0], [20, 1], [20, 2], [10, 3]], "expected data, got {actual}");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    30
      assert.deepEqual(ii, [0, 1, 2, 3], "expected index, got {actual}");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    31
      assert.deepEqual(tt, [t, t, t, t], "expected this, got {actual}");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    32
    },
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    33
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    34
    "angle defaults to a function accessor": function(line) {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    35
      var l = line();
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    36
      assert.pathEqual(l([[10, 0], [20, 1], [20, 2], [10, 3]]), "M0,-10L16.82941969615793,-10.806046117362794L18.185948536513635,8.32293673094285L1.4112000805986715,9.899924966004454");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    37
      assert.typeOf(l.angle(), "function");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    38
    },
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    39
    "angle can be defined as a constant": function(line) {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    40
      var l = line().angle(Math.PI / 2);
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    41
      assert.pathEqual(l([[10, 0], [20, 1], [20, 2], [10, 3]]), "M10,0L20,0L20,0L10,0");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    42
      assert.equal(l.angle(), Math.PI / 2);
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    43
    },
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    44
    "angle can be defined as a function": function(line) {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    45
      var l = line().angle(f), t = {}, dd = [], ii = [], tt = [];
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    46
      function f(d, i) { dd.push(d); ii.push(i); tt.push(this); return Math.PI / 2; }
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    47
      assert.pathEqual(l.call(t, [[10, 0], [20, 1], [20, 2], [10, 3]]), "M10,0L20,0L20,0L10,0");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    48
      assert.deepEqual(dd, [[10, 0], [20, 1], [20, 2], [10, 3]], "expected data, got {actual}");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    49
      assert.deepEqual(ii, [0, 1, 2, 3], "expected index, got {actual}");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    50
      assert.deepEqual(tt, [t, t, t, t], "expected this, got {actual}");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    51
    },
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    52
    "angle is defined in radians, with zero at 12 o'clock": function(line) {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    53
      var l = line().angle(0);
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    54
      assert.pathEqual(l([[10, Math.PI], [20, Math.PI / 3]]), "M0,-10L0,-20");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    55
      assert.equal(l.angle(), 0);
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    56
    },
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    57
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    58
    "interpolate defaults to linear": function(line) {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    59
      assert.equal(line().interpolate(), "linear");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    60
    },
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    61
    "interpolate can be defined as a constant": function(line) {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    62
      var l = line().interpolate("cardinal");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    63
      assert.pathEqual(l([[10, 0], [20, 1], [20, 2], [10, 3]]), "M0,-10Q15.010824842506567,-12.638339790457078,16.82941969615793,-10.806046117362794C19.557311976634978,-8.057605607721365,20.498681478847523,5.217041068437762,18.185948536513635,8.32293673094285Q16.64412657495771,10.393533839279574,1.4112000805986715,9.899924966004454");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    64
      assert.equal(l.interpolate(), "cardinal");
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    65
    },
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    66
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    67
    "tension defaults to .7": function(line) {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    68
      assert.equal(line().tension(), .7);
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    69
    },
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    70
    "tension can be specified as a constant": function(line) {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    71
      var l = line().tension(.5);
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    72
      assert.equal(l.tension(), .5);
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    73
    },
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    74
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    75
    "returns null if input points array is empty": function(line) {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    76
      assert.isNull(line()([]));
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    77
    },
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    78
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    79
    "interpolate(linear)": {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    80
      "supports linear interpolation": testInterpolation("linear")
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    81
    },
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    82
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    83
    "interpolate(step)": {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    84
      "supports step-before interpolation": testInterpolation("step-before"),
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    85
      "supports step-after interpolation": testInterpolation("step-after")
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    86
    },
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    87
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    88
    "interpolate(basis)": {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    89
      "supports basis interpolation": testInterpolation("basis"),
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    90
      "supports basis-open interpolation": testInterpolation("basis-open"),
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    91
      "supports basis-closed interpolation": testInterpolation("basis-closed")
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    92
    },
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    93
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    94
    "interpolate(bundle)": {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    95
      "supports bundle interpolation": testInterpolation("bundle")
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    96
    },
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    97
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    98
    "interpolate(cardinal)": {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    99
      "supports cardinal interpolation": testInterpolation("cardinal"),
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   100
      "supports cardinal-open interpolation": testInterpolation("cardinal-open"),
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   101
      "supports cardinal-closed interpolation": testInterpolation("cardinal-closed")
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   102
    },
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   103
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   104
    "interpolate(monotone)": {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   105
      "supports monotone interpolation": testInterpolation("monotone")
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   106
    }
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   107
  }
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   108
});
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   109
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   110
// A radial line is just a transformation of a Cartesian line.
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   111
function testInterpolation(interpolate) {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   112
  var data = [[10, 0], [20, 1], [20, 2], [10, 3]];
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   113
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   114
  var radial = d3.svg.line.radial();
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   115
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   116
  var cartesian = d3.svg.line()
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   117
      .x(function(d) { return d[0] * Math.cos(d[1] - Math.PI / 2); })
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   118
      .y(function(d) { return d[0] * Math.sin(d[1] - Math.PI / 2); });
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   119
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   120
  return function() {
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   121
    assert.pathEqual(radial.interpolate(interpolate)(data), cartesian.interpolate(interpolate)(data));
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   122
  };
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   123
}
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   124
c0b4a8b5a012 add toolkit.html + démonstrateurs
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
   125
suite.export(module);