object = $this->getMockBuilder(PayoutDestinationDataBankCardCard::class)->getMockForAbstractClass(); $this->assertTrue(class_exists(PayoutDestinationDataBankCardCard::class)); $this->assertInstanceOf(PayoutDestinationDataBankCardCard::class, $this->object); } /** * Test property "number" * @dataProvider validNumberDataProvider * @param mixed $value * * @return void * @throws Exception */ public function testNumber(mixed $value): void { $instance = $this->getTestInstance(); $instance->setNumber($value); self::assertNotNull($instance->getNumber()); self::assertNotNull($instance->number); self::assertEquals($value, is_array($value) ? $instance->getNumber()->toArray() : $instance->getNumber()); self::assertEquals($value, is_array($value) ? $instance->number->toArray() : $instance->number); self::assertMatchesRegularExpression("/[0-9]{16,19}/", $instance->getNumber()); self::assertMatchesRegularExpression("/[0-9]{16,19}/", $instance->number); } /** * Test invalid property "number" * @dataProvider invalidNumberDataProvider * @param mixed $value * @param string $exceptionClass * * @return void */ public function testInvalidNumber(mixed $value, string $exceptionClass): void { $instance = $this->getTestInstance(); $this->expectException($exceptionClass); $instance->setNumber($value); } /** * @return array[] * @throws Exception */ public function validNumberDataProvider(): array { $instance = $this->getTestInstance(); return $this->getValidDataProviderByType($instance->getValidator()->getRulesByPropName('_number')); } /** * @return array[] * @throws Exception */ public function invalidNumberDataProvider(): array { $instance = $this->getTestInstance(); return $this->getInvalidDataProviderByType($instance->getValidator()->getRulesByPropName('_number')); } }