/** * @param array $typeData * @param array $expected * @dataProvider testGenerateDefinitionDataProvider */ public function testGenerateDefinition($typeData, $expected) { $getTypeData = function ($type) use($typeData) { return $typeData[$type]; }; $this->typeProcessorMock->method('getTypeData')->will($this->returnCallback($getTypeData)); $method = new \ReflectionMethod($this->generator, 'generateDefinition'); $method->setAccessible(true); $actual = $method->invoke($this->generator, key($typeData)); ksort($expected); ksort($actual); $this->assertSame(json_encode($expected), json_encode($actual)); }