* @copyright Meritoo.pl */ class IncorrectClassOfResultItemExceptionTest extends BaseTestCase { public function testConstructorVisibilityAndArguments() { static::assertConstructorVisibilityAndArguments(IncorrectClassOfResultItemException::class, OopVisibilityType::IS_PUBLIC, 1, 1); } /** * @param string $className Incorrect class name used to create instance of one item * @param string $expectedMessage Expected exception's message * * @dataProvider provideIncorrectClassName */ public function testConstructorMessage($className, $expectedMessage) { $exception = new IncorrectClassOfResultItemException($className); static::assertEquals($expectedMessage, $exception->getMessage()); } /** * Provides incorrect class name used to create instance of one item * * @return Generator */ public function provideIncorrectClassName() { $template = 'Class %s used to create instance of one item of the result should extend %s, but it does not. Did' . ' you forget to use proper base class?'; yield[ stdClass::class, sprintf($template, stdClass::class, BaseItem::class), ]; } }