Skip to content

Commit

Permalink
Add test that pivot group respects filters
Browse files Browse the repository at this point in the history
  • Loading branch information
chondl committed Dec 4, 2012
1 parent 582035e commit f3368b0
Showing 1 changed file with 30 additions and 21 deletions.
51 changes: 30 additions & 21 deletions test/pivot-test.js
Expand Up @@ -6,32 +6,41 @@ var suite = vows.describe("pivot");

suite.addBatch({
"pivot all": {
topic: [
{ gender:'Female', handed:'Right-handed'},
{ gender:'Male', handed:'Left-handed'},
{ gender:'Female', handed:'Right-handed'},
{ gender:'Male', handed:'Right-handed'},
{ gender:'Male', handed:'Left-handed'},
{ gender:'Male', handed:'Right-handed'},
{ gender:'Female', handed:'Right-handed'},
{ gender:'Female', handed:'Left-handed'},
{ gender:'Male', handed:'Right-handed'},
{ gender:'Female', handed:'Right-handed'},
],
"counts records by default": function(data) {
var c = crossfilter(data),
dimGender = c.dimension(function(v) { return v.gender }),
groupGender = dimGender.group(),
dimHanded = c.dimension(function(v) { return v.handed }),
groupHanded = dimHanded.group(),
p = c.pivotGroup([groupGender, groupHanded])
topic: function() {
var rslt = {}
rslt.data = [ { gender:'Female', handed:'Right-handed'},
{ gender:'Male', handed:'Left-handed'},
{ gender:'Female', handed:'Right-handed'},
{ gender:'Male', handed:'Right-handed'},
{ gender:'Male', handed:'Left-handed'},
{ gender:'Male', handed:'Right-handed'},
{ gender:'Female', handed:'Right-handed'},
{ gender:'Female', handed:'Left-handed'},
{ gender:'Male', handed:'Right-handed'},
{ gender:'Female', handed:'Right-handed'},
]
rslt.c = crossfilter(rslt.data)
rslt.dim = { gender: rslt.c.dimension(function(v) { return v.gender }), handed: rslt.c.dimension(function(v) { return v.handed }) }
rslt.group = { gender: rslt.dim.gender.group(), handed: rslt.dim.handed.group() }
return rslt
},
"counts records by default": function(fixture) {
var p = fixture.c.pivotGroup([fixture.group.gender, fixture.group.handed])

assert.deepEqual(groupGender.all(), [{key:'Female', value:5}, {key:'Male', value:5}])
assert.deepEqual(groupHanded.all(), [{key:'Left-handed', value:3}, {key:'Right-handed', value:7}])
assert.deepEqual(p.all(), [{key:['Female', 'Left-handed'], value:1},
{key:['Female', 'Right-handed'], value:4},
{key:['Male', 'Left-handed'], value:2},
{key:['Male', 'Right-handed'], value:3}])
},
"respects filters": function(fixture) {
var p = fixture.c.pivotGroup([fixture.group.gender, fixture.group.handed])

fixture.dim.gender.filter('Female')

assert.deepEqual(p.all(), [{key:['Female', 'Left-handed'], value:1},
{key:['Female', 'Right-handed'], value:4},
{key:['Male', 'Left-handed'], value:0},
{key:['Male', 'Right-handed'], value:0}])
}
}
})
Expand Down

0 comments on commit f3368b0

Please sign in to comment.