code: def test_container_derive_messages_from_domain_and_add():
      action_names = ["a", "b"]
      # action texts, response keys, forms, and action_names must be unique or the
      # domain will complain about it ...
      action_texts = ["a2", "b2"]
      # ... but the response texts could overlap with e.g action texts
      responses = {"a3": {TEXT: "a2"}, "b3": {TEXT: "b2"}}
      forms = {"a4": "a4"}
      # however, intent names can be anything
      intents = ["a", "b"]
      domain = Domain(
          intents=intents,
          action_names=action_names,
          action_texts=action_texts,
          responses=responses,
          entities=["e_a", "e_b", "e_c"],
          slots=[TextSlot(name="s", mappings=[{}])],
          forms=forms,
          data={},
      )
      lookup_table = MessageContainerForCoreFeaturization()
      lookup_table.derive_messages_from_domain_and_add(domain)
      assert len(lookup_table) == (
          len(domain.intent_properties)
          + len(domain.action_names_or_texts)
      )
  
imports: import pytest
  import numpy
  import itertools
  from typing import List, Text, Optional, Dict
  from rasa.engine.graph import ExecutionContext
  from rasa.engine.storage.resource import Resource
  from rasa.engine.storage.storage import ModelStorage
  from rasa.core.featurizers.precomputation import CoreFeaturizationCollector, MessageContainerForCoreFeaturization, CoreFeaturizationInputConverter
  from rasa.shared.nlu.training_data.features import Features
  from rasa.shared.nlu.training_data.message import Message
  from rasa.shared.nlu.training_data.training_data import TrainingData
  from rasa.shared.nlu.constants import INTENT, TEXT, ENTITIES, ACTION_NAME, ACTION_TEXT, INTENT_NAME_KEY, ENTITY_ATTRIBUTE_VALUE, ENTITY_ATTRIBUTE_TYPE, ENTITY_ATTRIBUTE_ROLE, ENTITY_ATTRIBUTE_GROUP
  from rasa.shared.core.slots import TextSlot
  from rasa.shared.core.domain import Domain
  from rasa.shared.core.events import Event, UserUttered, ActionExecuted
  from rasa.shared.core.training_data.structures import StoryGraph, StoryStep
  from rasa.shared.core.trackers import DialogueStateTracker
label_desc: Use image node_id 19 for calling a global function with example usage: test_container_derive_messages_from_domain_and_add() without return types