public function testCharCodeAt() { $str = new Str("Hello, world."); $this->assertEquals($str->charCodeAt(0), ord("H")); $this->assertNotEquals($str->charCodeAt(5), ord(" ")); $this->assertEquals($str->charCodeAt($str->length() - 1), ord(".")); try { $str->charCodeAt(-1); } catch (StrIndexOutOfBoundsException $ex1) { $this->assertEquals(get_class($ex1), 'Str\\StrIndexOutOfBoundsException'); } try { $str->charCodeAt($str->length()); } catch (StrIndexOutOfBoundsException $ex2) { $this->assertEquals(get_class($ex2), 'Str\\StrIndexOutOfBoundsException'); } }