object = $this->getMockBuilder(DeliveryMethodEmail::class)->getMockForAbstractClass(); $this->assertTrue(class_exists(DeliveryMethodEmail::class)); $this->assertInstanceOf(DeliveryMethodEmail::class, $this->object); } /** * Test property "email" * @dataProvider validEmailDataProvider * @param mixed $value * * @return void * @throws Exception */ public function testEmail(mixed $value): void { $instance = $this->getTestInstance(); $instance->setEmail($value); self::assertNotNull($instance->getEmail()); self::assertNotNull($instance->email); self::assertEquals($value, $instance->getEmail()); self::assertEquals($value, $instance->email); } /** * Test invalid property "email" * @dataProvider invalidEmailDataProvider * @param mixed $value * @param string $exceptionClass * * @return void */ public function testInvalidEmail(mixed $value, string $exceptionClass): void { $instance = $this->getTestInstance(); $this->expectException($exceptionClass); $instance->setEmail($value); } /** * @return array[] * @throws Exception */ public function validEmailDataProvider(): array { $instance = $this->getTestInstance(); return $this->getValidDataProviderByType($instance->getValidator()->getRulesByPropName('_email')); } /** * @return array[] * @throws Exception */ public function invalidEmailDataProvider(): array { $instance = $this->getTestInstance(); return $this->getInvalidDataProviderByType($instance->getValidator()->getRulesByPropName('_email')); } }