/** * @test */ protected static function createForThisClassTest() { $prophet = new \Prophecy\Prophet(); /** @var ClassLoader $dummy */ $dummy = $prophet->prophesize(ClassLoader::class)->reveal(); /** @var CodeExtractor $codeExtractor */ $codeExtractor = $prophet->prophesize(CodeExtractor::class)->reveal(); $provider = new static($dummy, $codeExtractor); $definitions = $provider->createForClasses([__CLASS__ => new File(__FILE__)]); test_flight_assert(key($definitions) === __CLASS__); test_flight_assert(is_array($definitions[__CLASS__])); test_flight_assert(current($definitions[__CLASS__]) instanceof \Cundd\TestFlight\Definition\AbstractMethodDefinition); test_flight_assert(current($definitions[__CLASS__]) instanceof \Cundd\TestFlight\Definition\StaticMethodDefinition); test_flight_throws(function () use($provider) { $provider->createForClasses(['NotExistingClass' => new File(__FILE__)]); }, \ReflectionException::class); }
/** * @test */ protected function createTest() { test_flight_throws(function () { new self(['configuration' => __DIR__ . '/../../tests/resources/test-configuration-invalid-json.json']); }, InvalidJsonException::class); test_flight_throws(function () { new self(['configuration' => __DIR__ . '/../../tests/resources/test-configuration-invalid-data.json']); }, InvalidConfigurationException::class); }