新增全局流水号
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
use AKSRT\Finance\BusinessNumber;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
final class BusinessNumberTest extends TestCase {
|
||||
public function test_prefix_is_uppercased_filtered_and_limited(): void {
|
||||
self::assertSame('AK', BusinessNumber::normalize_prefix('', 'AK'));
|
||||
self::assertSame('TX_TEST-9', BusinessNumber::normalize_prefix(' tx_测test-9 ', 'TX'));
|
||||
self::assertSame('ABCDEFGHIJKL', BusinessNumber::normalize_prefix('abcdefghijklmnop', 'AK'));
|
||||
self::assertSame('TX', BusinessNumber::normalize_prefix('中文', 'TX'));
|
||||
}
|
||||
|
||||
public function test_candidate_uses_supplied_site_time_and_six_digit_random_suffix(): void {
|
||||
$time = new DateTimeImmutable('2026-08-25 13:14:15', new DateTimeZone('Asia/Shanghai'));
|
||||
self::assertSame('AK20260825131415000007', BusinessNumber::candidate('ak', $time, 7));
|
||||
self::assertMatchesRegularExpression('/^TX\d{14}\d{6}$/', BusinessNumber::candidate('TX', $time, 999999));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user