Yaffs site version 1.1
[yaffs-website] / vendor / phpunit / phpunit / tests / Framework / Constraint / CountTest.php
1 <?php
2 /*
3  * This file is part of PHPUnit.
4  *
5  * (c) Sebastian Bergmann <sebastian@phpunit.de>
6  *
7  * For the full copyright and license information, please view the LICENSE
8  * file that was distributed with this source code.
9  */
10
11 /**
12  * @since      Class available since Release 3.7.30
13  * @covers     PHPUnit_Framework_Constraint_Count
14  */
15 class CountTest extends PHPUnit_Framework_TestCase
16 {
17     public function testCount()
18     {
19         $countConstraint = new PHPUnit_Framework_Constraint_Count(3);
20         $this->assertTrue($countConstraint->evaluate(array(1, 2, 3), '', true));
21
22         $countConstraint = new PHPUnit_Framework_Constraint_Count(0);
23         $this->assertTrue($countConstraint->evaluate(array(), '', true));
24
25         $countConstraint = new PHPUnit_Framework_Constraint_Count(2);
26         $it              = new TestIterator(array(1, 2));
27         $this->assertTrue($countConstraint->evaluate($it, '', true));
28     }
29
30     public function testCountDoesNotChangeIteratorKey()
31     {
32         $countConstraint = new PHPUnit_Framework_Constraint_Count(2);
33
34         // test with 1st implementation of Iterator
35         $it = new TestIterator(array(1, 2));
36
37         $countConstraint->evaluate($it, '', true);
38         $this->assertEquals(1, $it->current());
39
40         $it->next();
41         $countConstraint->evaluate($it, '', true);
42         $this->assertEquals(2, $it->current());
43
44         $it->next();
45         $countConstraint->evaluate($it, '', true);
46         $this->assertFalse($it->valid());
47
48         // test with 2nd implementation of Iterator
49         $it = new TestIterator2(array(1, 2));
50
51         $countConstraint = new PHPUnit_Framework_Constraint_Count(2);
52         $countConstraint->evaluate($it, '', true);
53         $this->assertEquals(1, $it->current());
54
55         $it->next();
56         $countConstraint->evaluate($it, '', true);
57         $this->assertEquals(2, $it->current());
58
59         $it->next();
60         $countConstraint->evaluate($it, '', true);
61         $this->assertFalse($it->valid());
62     }
63 }