summaryrefslogtreecommitdiff
path: root/tests/RegistrationNumberTest.php
diff options
context:
space:
mode:
authorLi Zhineng <[email protected]>2025-05-14 13:27:59 +0800
committerLi Zhineng <[email protected]>2025-05-14 13:27:59 +0800
commit665c8bc91124aff065b37e7767acf35e538198f9 (patch)
tree6a2750eb352c5beccc7a6310c1d6369649a23016 /tests/RegistrationNumberTest.php
parentc09fdd361c8ca9fe75aaba744c85c82f21b9ac68 (diff)
downloadvehicle-license-china-665c8bc91124aff065b37e7767acf35e538198f9.tar.gz
vehicle-license-china-665c8bc91124aff065b37e7767acf35e538198f9.zip
registration number components
Diffstat (limited to 'tests/RegistrationNumberTest.php')
-rw-r--r--tests/RegistrationNumberTest.php90
1 files changed, 90 insertions, 0 deletions
diff --git a/tests/RegistrationNumberTest.php b/tests/RegistrationNumberTest.php
index 9a599b6..7829027 100644
--- a/tests/RegistrationNumberTest.php
+++ b/tests/RegistrationNumberTest.php
@@ -38,6 +38,96 @@ final class RegistrationNumberTest extends TestCase
RegistrationNumber::make($registrationNumber);
}
+ public function test_embassy_vehicle_registration_number(): void
+ {
+ $number = RegistrationNumber::make('224578使');
+ $this->assertSame('224', $number->agencyNumber);
+ $this->assertSame('578', $number->sequence);
+ $this->assertSame('使', $number->suffix);
+ $this->assertSame('', $number->region);
+ $this->assertSame('', $number->authority);
+ }
+
+ public function test_consulate_vehicle_registration_number(): void
+ {
+ $number = RegistrationNumber::make('沪22478领');
+ $this->assertSame('沪', $number->region);
+ $this->assertSame('224', $number->agencyNumber);
+ $this->assertSame('78', $number->sequence);
+ $this->assertSame('领', $number->suffix);
+ $this->assertSame('', $number->authority);
+ }
+
+ public function test_police_vehicle_registration_number(): void
+ {
+ $number = RegistrationNumber::make('京A0006警');
+ $this->assertSame('京', $number->region);
+ $this->assertSame('A', $number->authority);
+ $this->assertSame('0006', $number->sequence);
+ $this->assertSame('警', $number->suffix);
+ $this->assertSame('', $number->agencyNumber);
+ }
+
+ public function test_coach_vehicle_registration_number(): void
+ {
+ $number = RegistrationNumber::make('粤E12345学');
+ $this->assertSame('粤', $number->region);
+ $this->assertSame('E', $number->authority);
+ $this->assertSame('12345', $number->sequence);
+ $this->assertSame('学', $number->suffix);
+ $this->assertSame('', $number->agencyNumber);
+ }
+
+ public function test_trailer_registration_number(): void
+ {
+ $number = RegistrationNumber::make('粤E12345挂');
+ $this->assertSame('粤', $number->region);
+ $this->assertSame('E', $number->authority);
+ $this->assertSame('12345', $number->sequence);
+ $this->assertSame('挂', $number->suffix);
+ $this->assertSame('', $number->agencyNumber);
+ }
+
+ public function test_hong_kong_vehicle_registration_number(): void
+ {
+ $number = RegistrationNumber::make('粤Z1234港');
+ $this->assertSame('粤', $number->region);
+ $this->assertSame('Z', $number->authority);
+ $this->assertSame('1234', $number->sequence);
+ $this->assertSame('港', $number->suffix);
+ $this->assertSame('', $number->agencyNumber);
+ }
+
+ public function test_macau_vehicle_registration_number(): void
+ {
+ $number = RegistrationNumber::make('粤Z1234澳');
+ $this->assertSame('粤', $number->region);
+ $this->assertSame('Z', $number->authority);
+ $this->assertSame('1234', $number->sequence);
+ $this->assertSame('澳', $number->suffix);
+ $this->assertSame('', $number->agencyNumber);
+ }
+
+ public function test_test_vehicle_registration_number(): void
+ {
+ $number = RegistrationNumber::make('粤E12345试');
+ $this->assertSame('粤', $number->region);
+ $this->assertSame('E', $number->authority);
+ $this->assertSame('12345', $number->sequence);
+ $this->assertSame('试', $number->suffix);
+ $this->assertSame('', $number->agencyNumber);
+ }
+
+ public function test_special_vehicle_registration_number(): void
+ {
+ $number = RegistrationNumber::make('粤E12345超');
+ $this->assertSame('粤', $number->region);
+ $this->assertSame('E', $number->authority);
+ $this->assertSame('12345', $number->sequence);
+ $this->assertSame('超', $number->suffix);
+ $this->assertSame('', $number->agencyNumber);
+ }
+
public function test_is_embassy_deteremins_if_registration_number_is_used_by_embassies(): void
{
$this->assertTrue(RegistrationNumber::make('224578使')->isEmbassy());