/**
  * @param JsonSerializationVisitor $visitor
  * @param Narrative                $narrative
  * @param array                    $type
  * @param Context                  $context
  * @return array
  */
 public function translateNarrative(JsonSerializationVisitor $visitor, Narrative $narrative, array $type, Context $context)
 {
     $messageData = $narrative->getMessages();
     foreach ($messageData as $key => &$messages) {
         foreach ($messages as &$message) {
             $message = $this->translationService->trans($message, $narrative->getSubstitutions(), $key, 'en');
         }
     }
     return $messageData;
 }
 /**
  * @param int    $value
  * @param string $section
  * @param string $rag
  * @param string $symptom
  * @param string $suffix
  */
 protected function generateSymptomMessages($value, $section, $rag, $symptom, $suffix = '')
 {
     switch (true) {
         case $value >= self::SYMPTOM_MAX:
             $message = "{$section}_{$rag}_max_{$symptom}{$suffix}";
             break;
         case $value == self::SYMPTOM_HIGH:
             $message = "{$section}_{$rag}_high_{$symptom}{$suffix}";
             break;
         case $value == self::SYMPTOM_AVG:
             $message = "{$section}_{$rag}_average_{$symptom}{$suffix}";
             break;
         case $value == self::SYMPTOM_LOW:
             $message = "{$section}_{$rag}_low_{$symptom}{$suffix}";
             break;
         default:
             $message = "{$section}_{$rag}_min_{$symptom}{$suffix}";
     }
     $this->narrative->addMessages($section, array($message));
 }
 public function testICanAddANarrativeSection()
 {
     $expected = array('foo' => array('messsage 1', 'message 2'));
     $this->assertEmpty($this->instance->getMessages());
     $this->assertEmpty($this->instance->getMessagesInSection('foo'));
     $this->assertInstanceOf(Narrative::class, $this->instance->addMessages('foo', $expected['foo']));
     $this->assertEquals($expected, $this->instance->getMessages());
     $this->assertEquals($expected['foo'], $this->instance->getMessagesInSection('foo'));
 }