code: def test_feature_trie_ignores_approximate_features(es):
      value = IdentityFeature(es["log"].ww["value"])
      agg = AggregationFeature(
          value, "sessions", primitive=primitives.Mean
      )
      agg_of_agg = AggregationFeature(
          agg, "customers", primitive=primitives.Sum
      )
      direct = DirectFeature(agg_of_agg, "sessions")
      features = [direct, agg]
  
      approximate_feature_trie = Trie(
          default=list, path_constructor=RelationshipPath
      )
      approximate_feature_trie.get_node(
          direct.relationship_path
      ).value = [agg_of_agg]
      feature_set = FeatureSet(
          features,
          approximate_feature_trie=approximate_feature_trie,
      )
      trie = feature_set.feature_trie
  
      # Since agg_of_agg is ignored it and its dependencies should not be in the
      # trie.
      sub_trie = trie.get_node(direct.relationship_path)
      for _path, (_, _, features) in sub_trie:
          assert not features
  
      assert trie.value == (
          False,
          set(),
          {direct.unique_name(), agg.unique_name()},
      )
      assert trie.get_node(agg.relationship_path).value == (
          False,
          set(),
          {value.unique_name()},
      )
  
file_path: featuretools/featuretools/tests/computational_backend/test_feature_set.py
imports: from featuretools import AggregationFeature, DirectFeature, IdentityFeature, TransformFeature, primitives
  from featuretools.computational_backends.feature_set import FeatureSet
  from featuretools.entityset.relationship import RelationshipPath
  from featuretools.tests.testing_utils import backward_path
  from featuretools.utils import Trie
label_desc: Use image node_id 4 for calling a global function with example usage: test_feature_trie_ignores_approximate_features(es) without return types