object = $this->getMockBuilder(PayoutDestinationSbp::class)->getMockForAbstractClass(); $this->assertTrue(class_exists(PayoutDestinationSbp::class)); $this->assertInstanceOf(PayoutDestinationSbp::class, $this->object); } /** * Test property "type" * * @return void * @throws Exception */ public function testType(): void { $instance = $this->getTestInstance(); self::assertContains($instance->getType(), ['sbp']); self::assertContains($instance->type, ['sbp']); self::assertNotNull($instance->getType()); self::assertNotNull($instance->type); } /** * Test invalid property "type" * @dataProvider invalidTypeDataProvider * @param mixed $value * @param string $exceptionClass * * @return void */ public function testInvalidType(mixed $value, string $exceptionClass): void { $instance = $this->getTestInstance(); $this->expectException($exceptionClass); $instance->setType($value); } /** * @return array[] * @throws Exception */ public function invalidTypeDataProvider(): array { $instance = $this->getTestInstance(); return $this->getInvalidDataProviderByType($instance->getValidator()->getRulesByPropName('_type')); } /** * Test property "phone" * @dataProvider validPhoneDataProvider * @param mixed $value * * @return void * @throws Exception */ public function testPhone(mixed $value): void { $instance = $this->getTestInstance(); $instance->setPhone($value); self::assertNotNull($instance->getPhone()); self::assertNotNull($instance->phone); self::assertEquals($value, is_array($value) ? $instance->getPhone()->toArray() : $instance->getPhone()); self::assertEquals($value, is_array($value) ? $instance->phone->toArray() : $instance->phone); self::assertMatchesRegularExpression("/[0-9]{4,15}/", $instance->getPhone()); self::assertMatchesRegularExpression("/[0-9]{4,15}/", $instance->phone); } /** * Test invalid property "phone" * @dataProvider invalidPhoneDataProvider * @param mixed $value * @param string $exceptionClass * * @return void */ public function testInvalidPhone(mixed $value, string $exceptionClass): void { $instance = $this->getTestInstance(); $this->expectException($exceptionClass); $instance->setPhone($value); } /** * @return array[] * @throws Exception */ public function validPhoneDataProvider(): array { $instance = $this->getTestInstance(); return $this->getValidDataProviderByType($instance->getValidator()->getRulesByPropName('_phone')); } /** * @return array[] * @throws Exception */ public function invalidPhoneDataProvider(): array { $instance = $this->getTestInstance(); return $this->getInvalidDataProviderByType($instance->getValidator()->getRulesByPropName('_phone')); } /** * Test property "bank_id" * @dataProvider validBankIdDataProvider * @param mixed $value * * @return void * @throws Exception */ public function testBankId(mixed $value): void { $instance = $this->getTestInstance(); $instance->setBankId($value); self::assertNotNull($instance->getBankId()); self::assertNotNull($instance->bank_id); self::assertEquals($value, is_array($value) ? $instance->getBankId()->toArray() : $instance->getBankId()); self::assertEquals($value, is_array($value) ? $instance->bank_id->toArray() : $instance->bank_id); self::assertLessThanOrEqual(12, is_string($instance->getBankId()) ? mb_strlen($instance->getBankId()) : $instance->getBankId()); self::assertLessThanOrEqual(12, is_string($instance->bank_id) ? mb_strlen($instance->bank_id) : $instance->bank_id); } /** * Test invalid property "bank_id" * @dataProvider invalidBankIdDataProvider * @param mixed $value * @param string $exceptionClass * * @return void */ public function testInvalidBankId(mixed $value, string $exceptionClass): void { $instance = $this->getTestInstance(); $this->expectException($exceptionClass); $instance->setBankId($value); } /** * @return array[] * @throws Exception */ public function validBankIdDataProvider(): array { $instance = $this->getTestInstance(); return $this->getValidDataProviderByType($instance->getValidator()->getRulesByPropName('_bank_id')); } /** * @return array[] * @throws Exception */ public function invalidBankIdDataProvider(): array { $instance = $this->getTestInstance(); return $this->getInvalidDataProviderByType($instance->getValidator()->getRulesByPropName('_bank_id')); } /** * Test property "sbp_operation_id" * @dataProvider validSbpOperationIdDataProvider * @param mixed $value * * @return void * @throws Exception */ public function testSbpOperationId(mixed $value): void { $instance = $this->getTestInstance(); self::assertEmpty($instance->getSbpOperationId()); self::assertEmpty($instance->sbp_operation_id); $instance->setSbpOperationId($value); self::assertEquals($value, is_array($value) ? $instance->getSbpOperationId()->toArray() : $instance->getSbpOperationId()); self::assertEquals($value, is_array($value) ? $instance->sbp_operation_id->toArray() : $instance->sbp_operation_id); if (!empty($value)) { self::assertNotNull($instance->getSbpOperationId()); self::assertNotNull($instance->sbp_operation_id); } } /** * Test invalid property "sbp_operation_id" * @dataProvider invalidSbpOperationIdDataProvider * @param mixed $value * @param string $exceptionClass * * @return void */ public function testInvalidSbpOperationId(mixed $value, string $exceptionClass): void { $instance = $this->getTestInstance(); $this->expectException($exceptionClass); $instance->setSbpOperationId($value); } /** * @return array[] * @throws Exception */ public function validSbpOperationIdDataProvider(): array { $instance = $this->getTestInstance(); return $this->getValidDataProviderByType($instance->getValidator()->getRulesByPropName('_sbp_operation_id')); } /** * @return array[] * @throws Exception */ public function invalidSbpOperationIdDataProvider(): array { $instance = $this->getTestInstance(); return $this->getInvalidDataProviderByType($instance->getValidator()->getRulesByPropName('_sbp_operation_id')); } /** * Test property "recipient_checked" * @dataProvider validRecipientCheckedDataProvider * @param mixed $value * * @return void * @throws Exception */ public function testRecipientChecked(mixed $value): void { $instance = $this->getTestInstance(); $instance->setRecipientChecked($value); self::assertNotNull($instance->getRecipientChecked()); self::assertNotNull($instance->recipient_checked); self::assertEquals($value, is_array($value) ? $instance->getRecipientChecked()->toArray() : $instance->getRecipientChecked()); self::assertEquals($value, is_array($value) ? $instance->recipient_checked->toArray() : $instance->recipient_checked); self::assertIsBool($instance->getRecipientChecked()); self::assertIsBool($instance->recipient_checked); } /** * Test invalid property "recipient_checked" * @dataProvider invalidRecipientCheckedDataProvider * @param mixed $value * @param string $exceptionClass * * @return void */ public function testInvalidRecipientChecked(mixed $value, string $exceptionClass): void { $instance = $this->getTestInstance(); $this->expectException($exceptionClass); $instance->setRecipientChecked($value); } /** * @return array[] * @throws Exception */ public function validRecipientCheckedDataProvider(): array { $instance = $this->getTestInstance(); return $this->getValidDataProviderByType($instance->getValidator()->getRulesByPropName('_recipient_checked')); } /** * @return array[] * @throws Exception */ public function invalidRecipientCheckedDataProvider(): array { $instance = $this->getTestInstance(); return $this->getInvalidDataProviderByType($instance->getValidator()->getRulesByPropName('_recipient_checked')); } }