code: def test_resolve_primitives_dict_access():
      data = {
          "dict": {
              "num": 5,
              "string": "foo",
              "nested": {"float": pi, "string": "bar"},
          }
      }
      context = Context(data)
  
      assert context.resolve("${dict.num}") == 5
      assert context.resolve("${dict.string}") == "foo"
      assert context.resolve("${dict.nested.float}") == pi
      assert context.resolve("${dict.nested.string}") == "bar"
  
      assert context.resolve("Number ${dict.num}") == "Number 5"
  
file_path: dvc/tests/unit/test_interpolate.py
imports: from math import inf, pi
  import pytest
  from dvc.parsing.context import Context, recurse_not_a_node
label_desc: Use image node_id 4 for calling a global function with example usage: test_resolve_primitives_dict_access() without return types