code: def test_iterate_flattened_separately():
      d = {
          "a1": 1,
          "b2": {"bar": "foo", "foo": "bar"},
          "c1": "f",
          "d1": [1, 2, 3],
          "e2": {},
      }
      res = list(iterate_flattened_separately(d, ["foo", "bar"]))
      assert res == [
          ("a1", 1),
          ("c1", "f"),
          ("d1", [1, 2, 3]),
          ("e2", {}),
          ("b2", PATHCHANGE),
          ("b2.foo", "bar"),
          ("b2.bar", "foo"),
      ]
  
imports: import pytest
  from sacred.utils import PATHCHANGE, convert_to_nested_dict, get_by_dotted_path, is_prefix, iter_prefixes, iterate_flattened, iterate_flattened_separately, join_paths, recursive_update, set_by_dotted_path, get_inheritors, convert_camel_case_to_snake_case, apply_backspaces_and_linefeeds, module_exists, module_is_in_cache, get_package_version, parse_version, rel_path
label_desc: Use image node_id 2 for calling a global function with example usage: test_iterate_flattened_separately() without return types