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