public function __construct()
 {
     $this->options = array();
     $class = get_class($this);
     // We build our options array ourselves, because possibly no class or config manifest exists at this point
     do {
         $this->options = array_merge(Object::static_lookup($class, 'default_options'), $this->options);
     } while ($class = get_parent_class($class));
 }
 public function testStaticLookup()
 {
     $this->assertEquals(Object::static_lookup('ConfigTest_DefinesFoo', 'foo'), 1);
     $this->assertEquals(Object::static_lookup('ConfigTest_DefinesFoo', 'bar'), null);
     $this->assertEquals(Object::static_lookup('ConfigTest_DefinesBar', 'foo'), null);
     $this->assertEquals(Object::static_lookup('ConfigTest_DefinesBar', 'bar'), 2);
     $this->assertEquals(Object::static_lookup('ConfigTest_DefinesFooAndBar', 'foo'), 3);
     $this->assertEquals(Object::static_lookup('ConfigTest_DefinesFooAndBar', 'bar'), 3);
     $this->assertEquals(Object::static_lookup('ConfigTest_DefinesFooDoesntExtendObject', 'foo'), 4);
     $this->assertEquals(Object::static_lookup('ConfigTest_DefinesFooDoesntExtendObject', 'bar'), null);
 }