summaryrefslogtreecommitdiff
path: root/jstests/distinct_index2.js
diff options
context:
space:
mode:
authorRandolph Tan <randolph@10gen.com>2014-03-03 15:04:57 -0500
committerRandolph Tan <randolph@10gen.com>2014-03-03 15:29:00 -0500
commitf8534ae0d6c4e252d169c5bcf42f42cf6518ee7d (patch)
treee35db08d5d7ea3d70b6925f30bec0881efd2ee83 /jstests/distinct_index2.js
parent6a10de0bb8fe996daca5ecd5687f1072abb0dd8b (diff)
downloadmongo-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.js41
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" );