public function testSkip()
{
$subject1 = new SubjectMetadata($this->benchmark->reveal(), 'one', 0);
$subject2 = new SubjectMetadata($this->benchmark->reveal(), 'two', 0);
$subject3 = new SubjectMetadata($this->benchmark->reveal(), 'three', 0);
$subject2->setSkip(true);
$this->benchmark->getSubjects()->willReturn([$subject1, $subject2, $subject3]);
TestUtil::configureBenchmarkMetadata($this->benchmark);
$this->executor->execute($subject1, Argument::cetera())->will($this->loadIterationResultCallback());
$this->executor->execute($subject2, Argument::cetera())->will($this->loadIterationResultCallback());
$this->executor->execute($subject3, Argument::cetera())->will($this->loadIterationResultCallback());
$suite = $this->runner->run(new RunnerContext(__DIR__));
$this->assertInstanceOf('PhpBench\\Model\\Suite', $suite);
$this->assertNoErrors($suite);
$this->assertEquals(2, $suite->getSummary()->getNbSubjects());
$subjects = $suite->getSubjects();
$this->assertEquals('one', $subjects[0]->getName());
$this->assertEquals('three', $subjects[1]->getName());
$this->executor->execute($subject2, Argument::cetera())->shouldNotHaveBeenCalled();
}