code: def test_feature_collection_to_dict():
      f1 = LiteFeature("f1", Double)
      f2 = LiteFeature("f2", Double)
      f3 = LiteFeature(
          name="Column 1",
          primitive=AddNumeric(),
          base_features=[f1, f2],
      )
  
      fc = FeatureCollection([f3])
  
      expected = {
          "primitives": {
              "add_numeric": None,
          },
          "feature_ids": ["Column 1"],
          "all_features": {
              "Column 1": {
                  "name": "Column 1",
                  "logical_type": None,
                  "tags": ["numeric"],
                  "primitive": "add_numeric",
                  "base_features": ["f1", "f2"],
                  "df_id": None,
                  "id": "Column 1",
                  "related_features": [],
                  "idx": 0,
              },
              "f1": {
                  "name": "f1",
                  "logical_type": "Double",
                  "tags": ["numeric"],
                  "primitive": None,
                  "base_features": [],
                  "df_id": None,
                  "id": "f1",
                  "related_features": [],
                  "idx": 0,
              },
              "f2": {
                  "name": "f2",
                  "logical_type": "Double",
                  "tags": ["numeric"],
                  "primitive": None,
                  "base_features": [],
                  "df_id": None,
                  "id": "f2",
                  "related_features": [],
                  "idx": 0,
              },
          },
      }
  
      actual = fc.to_dict()
      assert actual == expected
      assert json.dumps(expected, sort_keys=True) == json.dumps(
          actual, sort_keys=True
      )
  
imports: import json
  from unittest.mock import patch
  import pytest
  from woodwork.logical_types import Boolean, Double
  from featuretools.feature_discovery.feature_discovery import generate_features_from_primitives, schema_to_features
  from featuretools.feature_discovery.FeatureCollection import FeatureCollection
  from featuretools.feature_discovery.LiteFeature import LiteFeature
  from featuretools.primitives import Absolute, AddNumeric, DivideNumeric, Lag, MultiplyNumeric
  from featuretools.tests.feature_discovery.test_feature_discovery import MultiOutputPrimitiveForTest
  from featuretools.tests.testing_utils.generate_fake_dataframe import generate_fake_dataframe
label_desc: Use image node_id 6 for calling a global function with example usage: test_feature_collection_to_dict() without return types