code: def test_get_depth(es):
      f = Feature(es["log"].ww["value"])
      g = Feature(es["log"].ww["value"])
      agg1 = Feature(
          f, parent_dataframe_name="sessions", primitive=Last
      )
      agg2 = Feature(
          agg1, parent_dataframe_name="customers", primitive=Last
      )
      d1 = Feature(agg2, "sessions")
      d2 = Feature(d1, "log")
      assert d2.get_depth() == 4
      # Make sure this works if we pass in two of the same
      # feature. This came up when user supplied duplicates
      # in the seed_features of DFS.
      assert d2.get_depth(stop_at=[f, g]) == 4
      assert d2.get_depth(stop_at=[f, g, agg1]) == 3
      assert d2.get_depth(stop_at=[f, g, agg1]) == 3
      assert d2.get_depth(stop_at=[f, g, agg2]) == 2
      assert d2.get_depth(stop_at=[f, g, d1]) == 1
      assert d2.get_depth(stop_at=[f, g, d2]) == 0
  
imports: import os.path
  import re
  import pytest
  from pympler.asizeof import asizeof
  from woodwork.column_schema import ColumnSchema
  from woodwork.logical_types import Datetime, Integer
  from featuretools import Feature, config, feature_base
  from featuretools.feature_base import IdentityFeature
  from featuretools.primitives import Count, Diff, Last, Mode, Negate, NMostCommon, NumUnique, Sum, TransformPrimitive
  from featuretools.synthesis.deep_feature_synthesis import can_stack_primitive_on_inputs
  from featuretools.tests.testing_utils import check_rename
label_desc: Use image node_id 3 for calling a global function with example usage: test_get_depth(es) without return types