text: import json
  
  import pytest
  
  from rasa.shared.core.conversation import Dialogue
  from rasa.shared.core.domain import Domain
  from rasa.core.tracker_store import InMemoryTrackerStore
  from tests.dialogues import (
      TEST_DIALOGUES,
      TEST_DEFAULT_DIALOGUE,
      TEST_DOMAINS_FOR_DIALOGUES,
  )
  from tests.core.utilities import tracker_from_dialogue
  
  
  @pytest.mark.parametrize("pair", zip(TEST_DIALOGUES, TEST_DOMAINS_FOR_DIALOGUES))
  def test_inmemory_tracker_store(pair):
      dialogue, domainpath = pair
      domain = Domain.load(domainpath)
      tracker = tracker_from_dialogue(dialogue, domain)
      tracker_store = InMemoryTrackerStore(domain)
      tracker_store.save(tracker)
      restored = tracker_store.retrieve(tracker.sender_id)
      assert restored == tracker
  
  
  def test_tracker_default(domain: Domain):
      tracker = tracker_from_dialogue(TEST_DEFAULT_DIALOGUE, domain)
      assert tracker.get_slot("name") == "Peter"
      assert tracker.get_slot("price") is None  # slot doesn't exist!
  
  
  def test_dialogue_from_parameters(domain: Domain):
      tracker = tracker_from_dialogue(TEST_DEFAULT_DIALOGUE, domain)
      serialised_dialogue = InMemoryTrackerStore.serialise_tracker(tracker)
      deserialised_dialogue = Dialogue.from_parameters(json.loads(serialised_dialogue))
      assert tracker.as_dialogue().as_dict() == deserialised_dialogue.as_dict()
  