/** * @param \Box\TestScribe\Mock\MockClass $mock * * @return string * * Define this method in a separate class causes circular dependencies. * i.e. these two methods depend on each other. */ public function renderMockedReturnValue(MockClass $mock) { $statementsArray = []; $mocks = $mock->getMockedReturnValues(); if ($mocks) { $statementsArray[] = "// Set up mocks of return values."; foreach ($mocks as $mockedReturnValueObj) { $oneMockStatement = $this->renderAMock($mockedReturnValueObj); $statementsArray[] = $oneMockStatement; } } $statementsString = ArrayUtil::joinNonEmptyStringsWithNewLine($statementsArray, 2); return $statementsString; }