code: def test_direct_squared(es):
      feature = IdentityFeature(es["log"].ww["value"])
      squared = feature * feature
      feature_set = FeatureSet([feature, squared])
      calculator = FeatureSetCalculator(
          es, time_last=None, feature_set=feature_set
      )
      df = to_pandas(calculator.run(np.array([0, 1, 2])))
      for i, row in df.iterrows():
          assert (row[0] * row[0]) == row[1]
  
imports: from datetime import datetime
  import numpy
  import pandas
  import pytest
  from woodwork.column_schema import ColumnSchema
  from woodwork.logical_types import Categorical, Datetime, Double, Integer
  from featuretools import AggregationFeature, EntitySet, Feature, Timedelta, calculate_feature_matrix
  from featuretools.computational_backends.feature_set import FeatureSet
  from featuretools.computational_backends.feature_set_calculator import FeatureSetCalculator
  from featuretools.entityset.relationship import RelationshipPath
  from featuretools.feature_base import DirectFeature, IdentityFeature
  from featuretools.primitives import And, Count, CumSum, EqualScalar, GreaterThanEqualToScalar, GreaterThanScalar, LessThanEqualToScalar, LessThanScalar, Mean, Min, Mode, Negate, NMostCommon, NotEqualScalar, NumTrue, Sum, TimeSinceLast, Trend
  from featuretools.primitives.base import AggregationPrimitive
  from featuretools.tests.testing_utils import backward_path, to_pandas
  from featuretools.utils import Trie
  from featuretools.utils.gen_utils import Library, import_or_none, is_instance
label_desc: Use image node_id 29 for calling a global function with example usage: test_direct_squared(es) without return types