* @link https://www.oxidmodule.com */ declare(strict_types=1); namespace D3\LinkmobilityClient\Tests\ValueObject; use Assert\InvalidArgumentException; use D3\LinkmobilityClient\Tests\ApiTestCase; use D3\LinkmobilityClient\ValueObject\SmsBinaryMessage; use Phlib\SmsLength\SmsLength; use PHPUnit\Framework\MockObject\MockObject; use ReflectionException; abstract class SmsMessageAbstractTest extends ApiTestCase { public $message; /** * @return void */ public function tearDown(): void { parent::tearDown(); unset($this->message); } /** * @return array[] */ public function constructInvalidDataProvider(): array { return [ 'empty message' => ['', true, InvalidArgumentException::class], 'invalid sms message' => ['abc', false, \Phlib\SmsLength\Exception\InvalidArgumentException::class], ]; } /** * @test * @throws ReflectionException * @covers \D3\LinkmobilityClient\ValueObject\SmsBinaryMessage::getSmsLength * @covers \D3\LinkmobilityClient\ValueObject\SmsTextMessage::getSmsLength */ public function testGetSmsLengthInstance() { $this->assertInstanceOf( SmsLength::class, $this->callMethod( $this->message, 'getSmsLength' ) ); } }