makeOuterOriginal(), $this->makeInnerViewableDataCustomised()); $this->assertThat($outerCustomised, $this->makeTestConstraint()); } public function testNestedViewableDataCustomisedAsOriginal() { $outerCustomised = ViewableData_Customised::create($this->makeInnerViewableDataCustomised(), $this->makeOuterOriginal()); $this->assertThat($outerCustomised, $this->makeTestConstraint()); } private function makeTestConstraint() { return new ViewableDataContains([ 'outerOriginal' => 'foobar', 'innerOriginal' => 'hello', 'innerCustomised' => 'world', ]); } private function makeOuterOriginal() { return ArrayData::create([ 'outerOriginal' => 'foobar', ]); } private function makeInnerViewableDataCustomised() { $original = ArrayData::create([ 'innerOriginal' => 'hello', ]); $customised = ArrayData::create([ 'innerCustomised' => 'world', ]); return ViewableData_Customised::create($original, $customised); } }