var vows = require(“vows”),

load = require("../load"),
assert = require("../assert");

var suite = vows.describe(“d3.values”);

suite.addBatch({

"values": {
  topic: load("arrays/values").expression("d3.values"),
  "enumerates every value": function(values) {
    assert.deepEqual(values({a: 1, b: 2}), [1, 2]);
  },
  "includes values defined on prototypes": function(values) {
    function abc() {
      this.a = 1;
      this.b = 2;
    }
    abc.prototype.c = 3;
    assert.deepEqual(values(new abc()), [1, 2, 3]);
  },
  "includes null or undefined values": function(values) {
    var v = values({a: undefined, b: null, c: NaN});
    assert.isUndefined(v[0]);
    assert.isNull(v[1]);
    assert.isNaN(v[2]);
    assert.equal(v.length, 3);
  }
}

});

suite.export(module);