object = $this->getMockBuilder(Recipient::class)->getMockForAbstractClass(); $this->assertTrue(class_exists(Recipient::class)); $this->assertInstanceOf(Recipient::class, $this->object); } /** * Test property "gateway_id" * @dataProvider validGatewayIdDataProvider * @param mixed $value * * @return void * @throws Exception */ public function testGatewayId(mixed $value): void { $instance = $this->getTestInstance(); self::assertEmpty($instance->getGatewayId()); self::assertEmpty($instance->gateway_id); $instance->setGatewayId($value); self::assertEquals($value, is_array($value) ? $instance->getGatewayId()->toArray() : $instance->getGatewayId()); self::assertEquals($value, is_array($value) ? $instance->gateway_id->toArray() : $instance->gateway_id); if (!empty($value)) { self::assertNotNull($instance->getGatewayId()); self::assertNotNull($instance->gateway_id); } } /** * Test invalid property "gateway_id" * @dataProvider invalidGatewayIdDataProvider * @param mixed $value * @param string $exceptionClass * * @return void */ public function testInvalidGatewayId(mixed $value, string $exceptionClass): void { $instance = $this->getTestInstance(); $this->expectException($exceptionClass); $instance->setGatewayId($value); } /** * @return array[] * @throws Exception */ public function validGatewayIdDataProvider(): array { $instance = $this->getTestInstance(); return $this->getValidDataProviderByType($instance->getValidator()->getRulesByPropName('_gateway_id')); } /** * @return array[] * @throws Exception */ public function invalidGatewayIdDataProvider(): array { $instance = $this->getTestInstance(); return $this->getInvalidDataProviderByType($instance->getValidator()->getRulesByPropName('_gateway_id')); } }