object = $this->getMockBuilder(RefundDealData::class)->getMockForAbstractClass(); $this->assertTrue(class_exists(RefundDealData::class)); $this->assertInstanceOf(RefundDealData::class, $this->object); } /** * Test property "refund_settlements" * @dataProvider validRefundSettlementsDataProvider * @param mixed $value * * @return void * @throws Exception */ public function testRefundSettlements(mixed $value): void { $instance = $this->getTestInstance(); self::assertIsObject($instance->getRefundSettlements()); self::assertIsObject($instance->refund_settlements); self::assertCount(0, $instance->getRefundSettlements()); self::assertCount(0, $instance->refund_settlements); $instance->setRefundSettlements($value); self::assertNotNull($instance->getRefundSettlements()); self::assertNotNull($instance->refund_settlements); foreach ($value as $key => $element) { if (is_array($element) && !empty($element)) { self::assertEquals($element, $instance->getRefundSettlements()[$key]->toArray()); self::assertEquals($element, $instance->refund_settlements[$key]->toArray()); self::assertIsArray($instance->getRefundSettlements()[$key]->toArray()); self::assertIsArray($instance->refund_settlements[$key]->toArray()); } if (is_object($element) && !empty($element)) { self::assertEquals($element, $instance->getRefundSettlements()->get($key)); self::assertIsObject($instance->getRefundSettlements()->get($key)); self::assertIsObject($instance->refund_settlements->get($key)); self::assertIsObject($instance->getRefundSettlements()); self::assertIsObject($instance->refund_settlements); } } self::assertCount(count($value), $instance->getRefundSettlements()); self::assertCount(count($value), $instance->refund_settlements); } /** * Test invalid property "refund_settlements" * @dataProvider invalidRefundSettlementsDataProvider * @param mixed $value * @param string $exceptionClass * * @return void */ public function testInvalidRefundSettlements(mixed $value, string $exceptionClass): void { $instance = $this->getTestInstance(); $this->expectException($exceptionClass); $instance->setRefundSettlements($value); } /** * @return array[] * @throws Exception */ public function validRefundSettlementsDataProvider(): array { $instance = $this->getTestInstance(); return $this->getValidDataProviderByType($instance->getValidator()->getRulesByPropName('_refund_settlements')); } /** * @return array[] * @throws Exception */ public function invalidRefundSettlementsDataProvider(): array { $instance = $this->getTestInstance(); return $this->getInvalidDataProviderByType($instance->getValidator()->getRulesByPropName('_refund_settlements')); } }