function testObserve() { $foo = \arc\prototype::create([]); $f = function ($ob, $name, $value) { return false; }; \arc\prototype::observe($foo, $f); $foo->bar = 'bar'; $this->assertArrayNotHasKey('bar', \arc\prototype::entries($foo)); \arc\prototype::unobserve($foo, $f); $foo->bar = 'bar'; $this->assertEquals($foo->bar, 'bar'); \arc\prototype::observe($foo, $f); $foo->bar = 'baz'; $this->assertEquals($foo->bar, 'bar'); }