File: StringContainsInOrderTest.php

package info (click to toggle)
php-hamcrest 2.1.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,168 kB
  • sloc: php: 6,353; makefile: 14; sh: 9
file content (45 lines) | stat: -rw-r--r-- 1,319 bytes parent folder | download
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
<?php
namespace Hamcrest\Text;

use PHPUnit\Framework\Attributes\Before;

class StringContainsInOrderTest extends \Hamcrest\AbstractMatcherTestCase
{

    private $_m;

    #[Before]
    protected function setUpTest()
    {
        $this->_m = \Hamcrest\Text\StringContainsInOrder::stringContainsInOrder(array('a', 'b', 'c'));
    }

    protected function createMatcher()
    {
        return $this->_m;
    }

    public function testMatchesOnlyIfStringContainsGivenSubstringsInTheSameOrder()
    {
        $this->assertMatches($this->_m, 'abc', 'substrings in order');
        $this->assertMatches($this->_m, '1a2b3c4', 'substrings separated');

        $this->assertDoesNotMatch($this->_m, 'cab', 'substrings out of order');
        $this->assertDoesNotMatch($this->_m, 'xyz', 'no substrings in string');
        $this->assertDoesNotMatch($this->_m, 'ac', 'substring missing');
        $this->assertDoesNotMatch($this->_m, '', 'empty string');
    }

    public function testAcceptsVariableArguments()
    {
        $this->assertMatches(stringContainsInOrder('a', 'b', 'c'), 'abc', 'substrings as variable arguments');
    }

    public function testHasAReadableDescription()
    {
        $this->assertDescription(
            'a string containing "a", "b", "c" in order',
            $this->_m
        );
    }
}