Вход Регистрация
Файл: vkolhoze.com/vendor/guzzle/guzzle/tests/Guzzle/Tests/Iterator/ChunkedIteratorTest.php
Строк: 69
<?php

namespace GuzzleTestsIterator;

use 
GuzzleIteratorChunkedIterator;

/**
 * @covers GuzzleIteratorChunkedIterator
 */
class ChunkedIteratorTest extends PHPUnit_Framework_TestCase
{
    public function 
testChunksIterator()
    {
        
$chunked = new ChunkedIterator(new ArrayIterator(range(0, 100)), 10);
        
$chunks = iterator_to_array($chunked, false);
        
$this->assertEquals(11, count($chunks));
        foreach (
$chunks as $j => $chunk) {
            
$this->assertEquals(range($j * 10, min(100, $j * 10 + 9)), $chunk);
        }
    }

    public function 
testChunksIteratorWithOddValues()
    {
        
$chunked = new ChunkedIterator(new ArrayIterator(array(1, 2, 3, 4, 5)), 2);
        
$chunks = iterator_to_array($chunked, false);
        
$this->assertEquals(3, count($chunks));
        
$this->assertEquals(array(1, 2), $chunks[0]);
        
$this->assertEquals(array(3, 4), $chunks[1]);
        
$this->assertEquals(array(5), $chunks[2]);
    }

    public function 
testMustNotTerminateWithTraversable()
    {
        
$traversable = simplexml_load_string('<root><foo/><foo/><foo/></root>')->foo;
        
$chunked = new ChunkedIterator($traversable, 2);
        
$actual = iterator_to_array($chunked, false);
        
$this->assertCount(2, $actual);
    }

    public function 
testSizeOfZeroMakesIteratorInvalid() {
        
$chunked = new ChunkedIterator(new ArrayIterator(range(1, 5)), 0);
        
$chunked->rewind();
        
$this->assertFalse($chunked->valid());
    }

    
/**
     * @expectedException InvalidArgumentException
     */
    
public function testSizeLowerZeroThrowsException() {
        new 
ChunkedIterator(new ArrayIterator(range(1, 5)), -1);
    }
}
Онлайн: 0
Реклама