/**
  * @param \Box\TestScribe\Mock\MockClass $mockClass
  * @param string                              $injectMethodName
  *
  * @return string
  */
 public function genInjectedMockStatement(MockClass $mockClass, $injectMethodName)
 {
     $createMockObjectStatement = $this->mockRenderer->renderAMock($mockClass);
     $injectStatement = $this->genInjectionStatement($mockClass, $injectMethodName);
     // @TODO (ryang 8/6/14) : better handling of indentations.
     $combinedStatements = ArrayUtil::joinNonEmptyStringsWithNewLine([$createMockObjectStatement, $injectStatement], 1);
     return $combinedStatements;
 }
 /**
  * Generate the argument list as a string and
  * its referenced mock statements.
  *
  * @param \Box\TestScribe\ArgumentInfo\Arguments $argsObj
  *
  * @return \Box\TestScribe\Renderers\ArgumentsRenderResult
  */
 public function renderArguments(Arguments $argsObj)
 {
     $expressions = $argsObj->getExpressions();
     $argumentsString = implode(', ', $expressions);
     $mocks = $argsObj->getMocks();
     $mockObjectStatementArray = [];
     foreach ($mocks as $mock) {
         $mockObjectStatement = $this->mockRenderer->renderAMock($mock);
         $mockObjectStatementArray[] = $mockObjectStatement;
     }
     $mockObjectStatementsString = ArrayUtil::joinNonEmptyStringsWithNewLine($mockObjectStatementArray, 2);
     $result = new ArgumentsRenderResult($argumentsString, $mockObjectStatementsString);
     return $result;
 }