Пример #1
0
    public function testMagicMethodCalls()
    {
        $img = new ImageCache;
        
        $img->test1(1, 2, 3);
        $img->test2(null);
        $img->test3(array(1, 2, 3));

        $this->assertInternalType('array', $img->calls);
        $this->assertEquals(count($img->calls), 3);
        $this->assertInternalType('string', $img->calls[0]['name']);
        $this->assertInternalType('string', $img->calls[1]['name']);
        $this->assertInternalType('string', $img->calls[2]['name']);
        $this->assertInternalType('array', $img->calls[0]['arguments']);
        $this->assertInternalType('array', $img->calls[1]['arguments']);
        $this->assertInternalType('array', $img->calls[2]['arguments']);
        $this->assertEquals($img->calls[0]['name'], 'test1');
        $this->assertEquals($img->calls[1]['name'], 'test2');
        $this->assertEquals($img->calls[2]['name'], 'test3');
        $this->assertEquals($img->calls[0]['arguments'][0], 1);
        $this->assertEquals($img->calls[0]['arguments'][1], 2);
        $this->assertEquals($img->calls[0]['arguments'][2], 3);
        $this->assertTrue(is_null($img->calls[1]['arguments'][0]));
        $this->assertInternalType('array', $img->calls[2]['arguments'][0]);
        $this->assertEquals($img->calls[2]['arguments'][0][0], 1);
        $this->assertEquals($img->calls[2]['arguments'][0][1], 2);
        $this->assertEquals($img->calls[2]['arguments'][0][2], 3);
    }