From 68ac2db910581555b9f3063bba2421c8fc2b391b Mon Sep 17 00:00:00 2001 From: Adam Kocoloski Date: Wed, 10 Mar 2010 22:12:13 +0000 Subject: _stats builtin reduction for min/max/mean/variance git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@921592 13f79535-47bb-0310-9956-ffa450edef68 --- share/www/script/test/reduce_builtin.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'share') diff --git a/share/www/script/test/reduce_builtin.js b/share/www/script/test/reduce_builtin.js index 7938a0cf..0db6bc09 100644 --- a/share/www/script/test/reduce_builtin.js +++ b/share/www/script/test/reduce_builtin.js @@ -22,6 +22,14 @@ couchTests.reduce_builtin = function(debug) { var summate = function(N) {return (N+1)*N/2;}; + var sumsqr = function(N) { + var acc = 0; + for (var i=1; i<=N; ++i) { + acc += i*i; + } + return acc; + } + // this is the same test as the reduce.js test // only we'll let CouchDB run reduce in Erlang var map = function (doc) { @@ -32,6 +40,12 @@ couchTests.reduce_builtin = function(debug) { T(result.rows[0].value == 2*summate(numDocs)); result = db.query(map, "_count"); T(result.rows[0].value == 1000); + result = db.query(map, "_stats"); + T(result.rows[0].value.sum == 2*summate(numDocs)); + T(result.rows[0].value.count == 1000); + T(result.rows[0].value.min == 1); + T(result.rows[0].value.max == 500); + T(result.rows[0].value.sumsqr == 2*sumsqr(numDocs)); result = db.query(map, "_sum", {startkey: 4, endkey: 4}); T(result.rows[0].value == 8); -- cgit v1.2.3