code: def test_auto_ml_context_loc_stays_the_same(
      tmpdir, cx_repo_ctor: Callable[[TmpDir], AutoMLContext]
  ):
      context = cx_repo_ctor(tmpdir)
  
      c0 = context.push_attr(RootDataclass())
      c1 = c0.push_attr(ProjectDataclass(project_name=DEFAULT_PROJECT))
      c2 = c1.push_attr(ClientDataclass(client_name=DEFAULT_CLIENT))
  
      assert c0.loc.as_list() == []
      assert c1.loc.as_list() == [DEFAULT_PROJECT]
      assert c2.loc.as_list() == [DEFAULT_PROJECT, DEFAULT_CLIENT]
  
imports: import copy
  from typing import Callable, List
  import pytest
  from neuraxle.base import CX
  from neuraxle.metaopt.context import AutoMLContext
  from neuraxle.metaopt.data.aggregates import Client, Project, Root
  from neuraxle.metaopt.data.vanilla import DEFAULT_CLIENT, DEFAULT_PROJECT, BaseDataclass, ClientDataclass, ProjectDataclass, RootDataclass, RoundDataclass, ScopedLocation
  from neuraxle.metaopt.repositories.db import SQLLiteHyperparamsRepository
  from neuraxle.metaopt.repositories.json import HyperparamsOnDiskRepository
  from neuraxle.metaopt.repositories.repo import HyperparamsRepository
  from testing_neuraxle.metaopt.test_automl_dataclasses import ALL_DATACLASSES, SOME_CLIENT_DATACLASS, SOME_FULL_SCOPED_LOCATION, SOME_PROJECT_DATACLASS, SOME_ROOT_DATACLASS, SOME_ROUND_DATACLASS
label_desc: Use image node_id 4 for calling a global function with example usage: test_auto_ml_context_loc_stays_the_same(tmpdir, cx_repo_ctor) without return types