public function testMethodIsMockable()
{
$this->if($generator = new testedClass())->and($this->mockGenerator->orphanize('__construct'))->and($method = new \mock\reflectionMethod($this, $methodName = uniqid()))->and($this->calling($method)->getName = $methodName)->and($this->calling($method)->isFinal = false)->and($this->calling($method)->isStatic = false)->and($this->calling($method)->isAbstract = false)->and($this->calling($method)->isPrivate = false)->and($this->calling($method)->isProtected = false)->then->boolean($generator->methodIsMockable($method))->isTrue()->if($this->calling($method)->isFinal = true)->then->boolean($generator->methodIsMockable($method))->isFalse()->if($this->calling($method)->isFinal = false)->and($this->calling($method)->isStatic = true)->then->boolean($generator->methodIsMockable($method))->isFalse()->if($this->calling($method)->isStatic = false)->and($this->calling($method)->isPrivate = true)->then->boolean($generator->methodIsMockable($method))->isFalse()->if($this->calling($method)->isPrivate = false)->and($this->calling($method)->isProtected = true)->then->boolean($generator->methodIsMockable($method))->isFalse()->if($generator->overload(new mock\php\method($methodName)))->then->boolean($generator->methodIsMockable($method))->isTrue();
}