public function testMultipleCallsWithArgsAndSpecificCalled()
{
$mock = new \lithium\tests\mocks\test\mockStdClass\Mock();
$mock->method1('foo', 'bar');
$mock->method1('foo', 'bar');
$mock->method1('foo', 'bar');
$mock->method2('baz');
$mock->method2('baz');
$mock->method1();
$chain = Mocker::chain($mock);
$this->assertTrue($chain->called('method1')->with('foo', 'bar')->eq(3)->success());
$this->assertTrue($chain->called('method2')->with('baz')->eq(2)->success());
$this->assertTrue($chain->called('method1')->with()->eq(1)->success());
$this->assertTrue($chain->called('method1')->with('foo', 'bar')->eq(3)->called('method2')->with('baz')->eq(2)->called('method1')->with()->eq(1)->success());
}