IsArrayWithSizeTest.php 1.13 KB
Newer Older
jiangbowen's avatar
jiangbowen committed
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
<?php
namespace Hamcrest\Arrays;

use Hamcrest\AbstractMatcherTest;

class IsArrayWithSizeTest extends AbstractMatcherTest
{

    protected function createMatcher()
    {
        return IsArrayWithSize::arrayWithSize(equalTo(2));
    }

    public function testMatchesWhenSizeIsCorrect()
    {
        $this->assertMatches(arrayWithSize(equalTo(3)), array(1, 2, 3), 'correct size');
        $this->assertDoesNotMatch(arrayWithSize(equalTo(2)), array(1, 2, 3), 'incorrect size');
    }

    public function testProvidesConvenientShortcutForArrayWithSizeEqualTo()
    {
        $this->assertMatches(arrayWithSize(3), array(1, 2, 3), 'correct size');
        $this->assertDoesNotMatch(arrayWithSize(2), array(1, 2, 3), 'incorrect size');
    }

    public function testEmptyArray()
    {
        $this->assertMatches(emptyArray(), array(), 'correct size');
        $this->assertDoesNotMatch(emptyArray(), array(1), 'incorrect size');
    }

    public function testHasAReadableDescription()
    {
        $this->assertDescription('an array with size <3>', arrayWithSize(equalTo(3)));
        $this->assertDescription('an empty array', emptyArray());
    }
}