File: ts1.js

package info (click to toggle)
mongodb 1%3A2.0.6-1.1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 17,204 kB
  • sloc: cpp: 109,783; ansic: 101,073; python: 2,287; perl: 395; makefile: 370; sh: 242; asm: 46
file content (38 lines) | stat: -rw-r--r-- 777 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
t = db.ts1
t.drop()

N = 20

for ( i=0; i<N; i++ ){
    t.insert( { _id : i , x : new Timestamp() } )
    sleep( 100 )
}

function get(i){
    return t.findOne( { _id : i } ).x;
}

function cmp( a , b ){
    if ( a.t < b.t )
        return -1;
    if ( a.t > b.t )
        return 1;
    
    return a.i - b.i;
}

for ( i=0; i<N-1; i++ ){
    a = get(i);
    b = get(i+1);
    //print( tojson(a) + "\t" + tojson(b) + "\t" + cmp(a,b) );
    assert.gt( 0 , cmp( a , b ) , "cmp " + i  )
}

assert.eq( N , t.find( { x : { $type : 17 } } ).itcount() , "B1" )
assert.eq( 0 , t.find( { x : { $type : 3 } } ).itcount() , "B2" )

t.insert( { _id : 100 , x : new Timestamp( 123456 , 50 ) } )
x = t.findOne( { _id : 100 } ).x
assert.eq( 123000 , x.t , "C1" )
assert.eq( 50 , x.i , "C2" )