Completed
Push — master ( 58c1c3...bed08d )
by Andreu
04:34
created

MongoAdapterTests::testFromMongoDate()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 14
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 14
rs 9.4285
cc 2
eloc 9
nc 2
nop 0
1
<?php
2
3
4
use Litipk\Jiffy\UniversalTimestamp;
5
6
7
class MongoAdapterTests extends \PHPUnit_Framework_TestCase
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
8
{
9
    public function testFromMongoDate()
10
    {
11
        if (!extension_loaded('mongo')) return;
12
13
        $uTs_A = UniversalTimestamp::now();
14
        $uTs_B = UniversalTimestamp::fromMongoDate(new \MongoDate());
15
        $uTs_C = UniversalTimestamp::now();
16
17
        $this->assertGreaterThanOrEqual(4, 5);
18
19
        $this->assertGreaterThanOrEqual($uTs_A->asMilliseconds(), $uTs_B->asMilliseconds());
20
        $this->assertGreaterThanOrEqual($uTs_B->asMilliseconds(), $uTs_C->asMilliseconds());
21
        $this->assertGreaterThanOrEqual($uTs_A->asMilliseconds(), $uTs_C->asMilliseconds());
22
    }
23
24
    public function testAsMongoDate()
25
    {
26
        if (!extension_loaded('mongo')) return;
27
28
        $ts1 = UniversalTimestamp::fromMongoDate(new \MongoDate());
29
        $md1 = $ts1->asMongoDate();
30
31
        $this->assertTrue($md1 instanceof \MongoDate);
32
        $this->assertEquals($ts1->asSeconds(), $md1->sec);
33
        $this->assertEquals($ts1->asMilliseconds()%1000, $md1->usec/1000);
34
    }
35
}
36