Skip to content

Commit

Permalink
Added sum and aggregate test, modified data
Browse files Browse the repository at this point in the history
modified data and tests to enable aggregate test
  • Loading branch information
wshager authored and neonstalwart committed Mar 26, 2015
1 parent 4ae84c8 commit 02aac37
Showing 1 changed file with 20 additions and 6 deletions.
26 changes: 20 additions & 6 deletions test/js-array.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ define(function (require) {
price: 5,
name: 'five',
tags: [ 'fun' ]
},
{
price: 15,
name: 'five',
tags: [ 'foo' ]
}
];

Expand All @@ -29,19 +34,19 @@ define(function (require) {
assert.equal(executeQuery('price=lt=11', {}, data).length, 2);
assert.equal(executeQuery('nested/property=value', {}, data).length, 1);
assert.equal(executeQuery('with%2Fslash=slashed', {}, data).length, 1);
assert.equal(executeQuery('out(price,(5,10))', {}, data).length, 0);
assert.equal(executeQuery('out(price,(5))', {}, data).length, 1);
assert.equal(executeQuery('out(price,(5,10,15))', {}, data).length, 0);
assert.equal(executeQuery('out(price,(5))', {}, data).length, 2);
assert.equal(executeQuery('contains(tags,even)', {}, data).length, 1);
assert.equal(executeQuery('contains(tags,fun)', {}, data).length, 2);
assert.equal(executeQuery('excludes(tags,fun)', {}, data).length, 0);
assert.equal(executeQuery('excludes(tags,fun)', {}, data).length, 1);
assert.equal(executeQuery('excludes(tags,ne(fun))', {}, data).length, 1);
assert.equal(executeQuery('excludes(tags,ne(even))', {}, data).length, 0);
// eq() on re: should trigger .match()
assert.deepEqual(executeQuery('price=match=10', {}, data), [ data[0] ]);
// ne() on re: should trigger .not(.match())
assert.deepEqual(executeQuery('name=match=f.*', {}, data), [ data[1] ]);
assert.deepEqual(executeQuery('name=match=glob:f*', {}, data), [ data[1] ]);
assert.deepEqual(executeQuery(new Query().match('name', /f.*/), {}, data), [data[1]]);
assert.deepEqual(executeQuery('name=match=t.*', {}, data), [ data[0] ]);
assert.deepEqual(executeQuery('name=match=glob:t*', {}, data), [ data[0] ]);
assert.deepEqual(executeQuery(new Query().match('name', /t.*/), {}, data), [data[0]]);
},

testFiltering1: function () {
Expand All @@ -54,6 +59,15 @@ define(function (require) {
assert.deepEqual(executeQuery('contains(path.1,3)&sort()', {}, data), data); // 3 found in both
assert.deepEqual(executeQuery('excludes(path.1,3)&sort()', {}, data), []); // 3 found in both
assert.deepEqual(executeQuery('excludes(path.1,7)&sort()', {}, data), [ data[0] ]); // 7 found in second
},
testSum:function(){
assert.equal(executeQuery('sum(price)', {}, data), 30);
},
testAggregate:function(){
assert.deepEqual(executeQuery('aggregate(name,sum(price))', {}, data), [
{0: 10, name: 'ten'},
{0: 20, name: 'five'}
]);
}
});
});

0 comments on commit 02aac37

Please sign in to comment.