/
TestQuery.php
77 lines (67 loc) · 1.94 KB
/
TestQuery.php
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php
/**
* @package Morph
* @author Jonathan Moss <xirisr@gmail.com>
* @copyright 2009 Jonathan Moss
* @version SVN: $Id$
*/
require_once 'PHPUnit/Framework/TestCase.php';
require_once dirname(__FILE__).'/../src/Morph/Query/Property.php';
require_once dirname(__FILE__).'/../src/Morph/Query.php';
/**
* @package Morph
*/
class TestQuery extends PHPUnit_Framework_TestCase
{
public function testLimit()
{
$query = new Morph_Query();
$query->limit(10);
$this->assertEquals(10, $query->getLimit());
}
public function testSkip()
{
$query = new Morph_Query();
$query->skip(10);
$this->assertEquals(10, $query->getSkip());
}
public function testProperty()
{
$expected = array('bob' => 'hoskins');
$query = new Morph_Query();
$query->property('bob')->equals('hoskins');
$this->assertEquals($expected, $query->getRawQuery());
}
public function testFluent()
{
$expected = array('bob' => 'hoskins');
$query = new Morph_Query();
$query->property('bob')
->equals('hoskins');
$this->assertEquals($expected, $query->getRawQuery());
}
public function testMultipleProperties()
{
$expected = array('bob' => 'hoskins', 'abc' => 12);
$query = new Morph_Query();
$query->property('bob')
->equals('hoskins')
->property('abc')
->equals(12);
$this->assertEquals($expected, $query->getRawQuery());
}
public function testFullFluency()
{
$expected = array('bob' => 'hoskins', 'abc' => 12);
$query = new Morph_Query();
$query->limit(10)->skip(12)
->property('bob')
->equals('hoskins')
->property('abc')
->equals(12);
$this->assertEquals($expected, $query->getRawQuery());
$this->assertEquals(10, $query->getLimit());
$this->assertEquals(12, $query->getSkip());
}
}
?>