code: def test_generate_features_from_primitives_inputs():
      f1 = LiteFeature("f1", Double)
      with pytest.raises(
          ValueError,
          match="input_features must be an iterable of LiteFeature objects",
      ):
          generate_features_from_primitives(f1, [Absolute])
  
      with pytest.raises(
          ValueError,
          match="input_features must be an iterable of LiteFeature objects",
      ):
          generate_features_from_primitives([f1, "other"], [Absolute])
  
      with pytest.raises(
          ValueError,
          match="primitives must be a list of Primitive classes or Primitive instances",
      ):
          generate_features_from_primitives([f1], ["absolute"])
  
      with pytest.raises(
          ValueError,
          match="primitives must be a list of Primitive classes or Primitive instances",
      ):
          generate_features_from_primitives([f1], Absolute)
  
imports: from unittest.mock import patch
  import pytest
  from woodwork.column_schema import ColumnSchema
  from woodwork.logical_types import Boolean, BooleanNullable, Datetime, Double, NaturalLanguage, Ordinal
  from featuretools.entityset.entityset import EntitySet
  from featuretools.feature_discovery.feature_discovery import _get_features, _get_matching_features, _index_column_set, generate_features_from_primitives, schema_to_features
  from featuretools.feature_discovery.FeatureCollection import FeatureCollection
  from featuretools.feature_discovery.LiteFeature import LiteFeature
  from featuretools.feature_discovery.utils import column_schema_to_keys
  from featuretools.primitives import Absolute, AddNumeric, Count, DateFirstEvent, Equal, Lag, MultiplyNumericBoolean, NumUnique, TransformPrimitive
  from featuretools.primitives.utils import get_transform_primitives
  from featuretools.synthesis import dfs
  from featuretools.tests.testing_utils.generate_fake_dataframe import generate_fake_dataframe
label_desc: Use image node_id 7 for calling a global function with example usage: test_generate_features_from_primitives_inputs() without return types