test/test_cursor.rb in mongo-0.18.2 vs test/test_cursor.rb in mongo-0.18.3

- old
+ new

@@ -1,6 +1,7 @@ require 'test/test_helper' +require 'logger' # NOTE: assumes Mongo is running class CursorTest < Test::Unit::TestCase include Mongo @@ -15,15 +16,10 @@ @@coll.remove @@coll.insert('a' => 1) # collection not created until it's used @@coll_full_name = 'ruby-mongo-test.test' end - def teardown - @@coll.remove - @@db.error - end - def test_explain cursor = @@coll.find('a' => 1) explaination = cursor.explain assert_not_nil explaination['cursor'] assert_kind_of Numeric, explaination['n'] @@ -108,9 +104,45 @@ assert_equal 2000, @@coll.find().sort([:created_at, :asc]).next_document["created_at"].year assert_equal 2004, @@coll.find().sort([:created_at, :desc]).next_document["created_at"].year assert_equal 2000, @@coll.find().sort([[:created_at, :asc]]).next_document["created_at"].year assert_equal 2004, @@coll.find().sort([[:created_at, :desc]]).next_document["created_at"].year + end + + def test_sort_min_max_keys + @@coll.remove + @@coll.insert({"n" => 1000000}) + @@coll.insert({"n" => -1000000}) + @@coll.insert({"n" => MaxKey.new}) + @@coll.insert({"n" => MinKey.new}) + + results = @@coll.find.sort([:n, :asc]).to_a + + assert_equal MinKey.new, results[0]['n'] + assert_equal -1000000, results[1]['n'] + assert_equal 1000000, results[2]['n'] + assert_equal MaxKey.new, results[3]['n'] + end + + def test_id_range_queries + @@coll.remove + + t1 = Time.now + t1_id = ObjectID.from_time(t1) + @@coll.save({:t => 't1'}) + @@coll.save({:t => 't1'}) + @@coll.save({:t => 't1'}) + sleep(2) + t2 = Time.now + t2_id = ObjectID.from_time(t2) + @@coll.save({:t => 't2'}) + @@coll.save({:t => 't2'}) + @@coll.save({:t => 't2'}) + + assert_equal 3, @@coll.find({'_id' => {'$gt' => t1_id}, '_id' => {'$lt' => t2_id}}).count + @@coll.find({'_id' => {'$gt' => t2_id}}).each do |doc| + assert_equal 't2', doc['t'] + end end def test_limit @@coll.remove