'bar' ]; $ex = new MetadataMergeException(); $this->assertInstanceOf( 'UnexpectedValueException', $ex ); $this->assertSame( [], $ex->getContext() ); $ex2 = new MetadataMergeException( 'Message', 42, $ex, $data ); $this->assertSame( 'Message', $ex2->getMessage() ); $this->assertSame( 42, $ex2->getCode() ); $this->assertSame( $ex, $ex2->getPrevious() ); $this->assertSame( $data, $ex2->getContext() ); $ex->setContext( $data ); $this->assertSame( $data, $ex->getContext() ); } }