/**
  * @param $class
  * @param $proxyFactory
  * @param $testRunner
  * @param $mutator
  * @throws \Exception
  */
 private function calculateRealCoverage($class, ProxyFactory $proxyFactory, PHPUnitRunner $testRunner, Mutator $mutator)
 {
     $proxy = $proxyFactory->getProxy($class);
     $tester = new ProxiedMutationTester($proxy, $class, $testRunner);
     $this->testPrecondition($tester);
     $mutator->testMutations($tester, new MutationGenerator($class));
     $proxy->loadClass($class);
     $this->testPostcondition($tester);
 }
 public function testGetProxyAcceptsClass()
 {
     // arrange
     $class = $this->createFakeClass("ImaginaryNamespace", "AnotherSupportedClass");
     $factory = new ProxyFactory(array($class));
     // act
     $proxy = $factory->getProxy($class);
     // assert
     $this->assertInstanceOf('PHPRealCoverage\\Proxy\\ProxyAccessor', $proxy);
     $class = new \ImaginaryNamespace\AnotherSupportedClass();
     $class->__PROXYcheckInstance();
     //only available for proxies
 }