assertTrue(WString::startsWith('君は実にバカだな', '君は')); } public function testEndsWith(): void { $this->assertTrue(WString::endsWith('君は実にバカだな', 'バカだな')); } public function testReverse(): void { $this->assertEquals('なだカバに実は君', WString::reverse('君は実にバカだな')); $this->assertEquals("\x82\xc8\x82\xbe\x83\x4a\x83\x6f\x82\xc9\x8e\xc0\x82\xcd\x8c\x4e", WString::reverse("\x8c\x4e\x82\xcd\x8e\xc0\x82\xc9\x83\x6f\x83\x4a\x82\xbe\x82\xc8", encoding: 'Shift_JIS')); } public function testTrim(): void { $utf8 = ' にゃ '; $this->assertEquals('にゃ', WString::trim($utf8, encoding: 'utf-8')); $this->assertEquals('にゃ ', WString::trimStart($utf8, encoding: 'utf-8')); $this->assertEquals(' にゃ', WString::trimEnd($utf8, encoding: 'utf-8')); } public function testEmpty(): void { $this->assertTrue(WString::nullOrWhitespace('')); $this->assertTrue(WString::nullOrWhitespace(' ')); $this->assertTrue(WString::nullOrWhitespace(' ')); $this->assertTrue(WString::nullOrWhitespace(' ')); } public function testCountUnique(): void { $this->assertEquals(10, WString::countUnique('iaabbccddjjefghefghi')); $this->assertEquals(11, WString::countUnique('jeff has three apples')); $this->assertEquals(5, WString::countUnique('みさかみこと')); } }