code: def test_synonyms_should_point_to_base_value(self):
      # Given
      dataset = {
          "intents": {
              "dummy_intent_1": {
                  "utterances": [
                      {
                          "data": [
                              {
                                  "text": "dummy_1",
                                  "entity": "dummy_entity_1",
                                  "slot_name": "dummy_slot_name",
                              }
                          ]
                      }
                  ]
              }
          },
          "entities": {
              "dummy_entity_1": {
                  "use_synonyms": True,
                  "automatically_extensible": False,
                  "data": [
                      {
                          "value": "dummy1",
                          "synonyms": ["dummy1", "dummy1_bis"],
                      }
                  ],
                  "matching_strictness": 1.0,
              }
          },
          "language": "en",
      }
      mocked_intent = intent_classification_result(
          "dummy_intent_1", 1.0
      )
      mocked_slots = [
          unresolved_slot(
              match_range=(0, 10),
              value="dummy1_bis",
              entity="dummy_entity_1",
              slot_name="dummy_slot_name",
          )
      ]
  
      # pylint:disable=unused-variable
      @IntentParser.register("my_intent_parser", True)
      class MyIntentParser(MockIntentParser):
          def parse(self, text, intents=None, top_n=None):
              return parsing_result(text, mocked_intent, mocked_slots)
  
      # pylint:enable=unused-variable
  
      input_ = "dummy1_bis"
      config = NLUEngineConfig(["my_intent_parser"])
      engine = SnipsNLUEngine(config).fit(dataset)
  
      # When
      result = engine.parse(input_)
  
      # Then
      expected_slot = {
          RES_MATCH_RANGE: {"start": 0, "end": 10},
          RES_RAW_VALUE: "dummy1_bis",
          RES_VALUE: {"kind": "Custom", "value": "dummy1"},
          RES_ENTITY: "dummy_entity_1",
          RES_SLOT_NAME: "dummy_slot_name",
      }
      expected_result = parsing_result(
          input_, mocked_intent, slots=[expected_slot]
      )
      self.assertEqual(expected_result, result)
  
imports: from __future__ import unicode_literals
  import io
  import shutil
  import sys
  from builtins import str
  from unittest import skipIf
  from checksumdir import dirhash
  from mock import MagicMock, patch
  from snips_nlu_parsers import get_all_languages
  import snips_nlu
  from snips_nlu.common.io_utils import temp_dir
  from snips_nlu.constants import END, LANGUAGE, LANGUAGE_EN, RES_ENTITY, RES_INPUT, RES_INTENT, RES_INTENT_NAME, RES_MATCH_RANGE, RES_RAW_VALUE, RES_SLOTS, RES_SLOT_NAME, RES_VALUE, START
  from snips_nlu.dataset import Dataset, validate_and_format_dataset
  from snips_nlu.entity_parser import BuiltinEntityParser, CustomEntityParser, CustomEntityParserUsage
  from snips_nlu.exceptions import IntentNotFoundError, InvalidInputError, NotTrained, IncompatibleModelError, PersistingError, LoadingError
  from snips_nlu.intent_parser import IntentParser
  from snips_nlu.nlu_engine import SnipsNLUEngine
  from snips_nlu.pipeline.configs import NLUEngineConfig
  from snips_nlu.resources import load_resources
  from snips_nlu.result import custom_slot, empty_result, intent_classification_result, parsing_result, resolved_slot, unresolved_slot, extraction_result
  from snips_nlu.tests.utils import FixtureTest, MockIntentParser, get_empty_dataset
label_desc: Use image node_id 24 for calling the TestSnipsNLUEngine obj's underlying member method code with example usage: obj.test_synonyms_should_point_to_base_value() and returns: parsing_result