diff options
author | Randolph Tan <randolph@10gen.com> | 2014-03-03 15:04:57 -0500 |
---|---|---|
committer | Randolph Tan <randolph@10gen.com> | 2014-03-03 15:29:00 -0500 |
commit | f8534ae0d6c4e252d169c5bcf42f42cf6518ee7d (patch) | |
tree | e35db08d5d7ea3d70b6925f30bec0881efd2ee83 /jstests/distinct_index2.js | |
parent | 6a10de0bb8fe996daca5ecd5687f1072abb0dd8b (diff) | |
download | mongo-f8534ae0d6c4e252d169c5bcf42f42cf6518ee7d.tar.gz |
SERVER-12127 migrate js tests to jscore suite when not related to writes
Temporarily put back jstest in order not to lose test coverage
Diffstat (limited to 'jstests/distinct_index2.js')
-rw-r--r-- | jstests/distinct_index2.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/jstests/distinct_index2.js b/jstests/distinct_index2.js new file mode 100644 index 00000000000..67d28b8b95e --- /dev/null +++ b/jstests/distinct_index2.js @@ -0,0 +1,41 @@ +t = db.distinct_index2; +t.drop(); + +t.ensureIndex( { a : 1 , b : 1 } ) +t.ensureIndex( { c : 1 } ) + +// Uniformly distributed dataset. +// If we use a randomly generated dataset, we might not +// generate all the distinct values in the range [0, 10). +for ( var a=0; a<10; a++ ) { + for ( var b=0; b<10; b++ ) { + for ( var c=0; c<10; c++ ) { + t.insert( { a : a , b : b , c : c } ); + } + } +} + +correct = [] +for ( i=0; i<10; i++ ) + correct.push( i ) + +function check( field ){ + res = t.distinct( field ) + res = res.sort() + assert.eq( correct , res , "check: " + field ); + + if ( field != "a" ){ + res = t.distinct( field , { a : 1 } ) + res = res.sort() + assert.eq( correct , res , "check 2: " + field ); + } +} + +check( "a" ) +check( "b" ) +check( "c" ) + +// hashed index should produce same results. +t.dropIndexes(); +t.ensureIndex( { a : "hashed" } ); +check( "a" ); |