code: def test_simple_in_memory_action_graph(
      simple_in_memory_action_graph: InMemoryActionGraphStore,
      verify_key: SyftVerifyKey,
  ) -> None:
      """
      node_1: action_obj_node_a
      node_2: action_obj_node_b
      node_3: action -> a + b = c
      """
      assert (
          len(simple_in_memory_action_graph.edges(verify_key).ok()) == 2
      )
      assert (
          len(simple_in_memory_action_graph.nodes(verify_key).ok()) == 3
      )
      # the nodes should be in the order of how they were added
      nodes = list(simple_in_memory_action_graph.nodes(verify_key).ok())
      node_1: NodeActionData = nodes[0][1]["data"]
      node_2: NodeActionData = nodes[1][1]["data"]
      node_3: NodeActionData = nodes[2][1]["data"]
      assert (
          simple_in_memory_action_graph.is_parent(
              parent=node_1.id, child=node_3.id
          ).ok()
          is True
      )
      assert (
          simple_in_memory_action_graph.is_parent(
              parent=node_2.id, child=node_3.id
          ).ok()
          is True
      )
      assert (
          simple_in_memory_action_graph.is_parent(
              parent=node_3.id, child=node_1.id
          ).ok()
          is False
      )
  
imports: import os
  from pathlib import Path
  import tempfile
  from threading import Thread
  import networkx
  from result import Err
  from syft.node.credentials import SyftVerifyKey
  from syft.service.action.action_graph import ExecutionStatus
  from syft.service.action.action_graph import InMemoryActionGraphStore
  from syft.service.action.action_graph import InMemoryGraphConfig
  from syft.service.action.action_graph import InMemoryStoreClientConfig
  from syft.service.action.action_graph import NetworkXBackingStore
  from syft.service.action.action_graph import NodeActionData
  from syft.service.action.action_graph import NodeActionDataUpdate
  from syft.service.action.action_graph import NodeType
  from syft.service.action.action_graph_service import ExecutionStatusPartitionKey
  from syft.service.action.action_object import Action
  from syft.service.action.action_object import ActionObject
  from syft.store.document_store import QueryKeys
  from syft.store.locks import NoLockingConfig
  from syft.types.datetime import DateTime
  from syft.types.syft_metaclass import Empty
  from syft.types.uid import UID
  from .fixtures import create_action_node
  from .fixtures import create_action_obj_node
label_desc: Use image node_id 15 for calling a global function with example usage: test_simple_in_memory_action_graph(simple_in_memory_action_graph, verify_key) without return types