public function test_stack() { $context = new Context(); $this->assertSame([], $context->to_array()); $context->push(); $context['one'] = 1; $this->assertSame(['one' => 1], $context->to_array()); $context->push(); $context['two'] = 2; $this->assertSame(['one' => 1, 'two' => 2], $context->to_array()); $context->push(); $context['three'] = 3; $this->assertSame(['one' => 1, 'two' => 2, 'three' => 3], $context->to_array()); $context->pop(); $this->assertSame(['one' => 1, 'two' => 2], $context->to_array()); $context->pop(); $this->assertSame(['one' => 1], $context->to_array()); $context->pop(); $this->assertSame([], $context->to_array()); }