code: def test_add_dataframe_to_es(df):
      es1 = EntitySet("es")
      assert es1.dataframe_dict == {}
      es1.add_dataframe(
          df,
          dataframe_name="table",
          index="id",
          semantic_tags={"category": "new_tag"},
      )
      assert len(es1.dataframe_dict) == 1
  
      copy_df = df.ww.copy()
  
      es2 = EntitySet("es")
      assert es2.dataframe_dict == {}
      es2.add_dataframe(copy_df)
      assert len(es2.dataframe_dict) == 1
  
      assert es1["table"].ww == es2["table"].ww
  
imports: from datetime import datetime
  import numpy
  import pandas
  import pytest
  from woodwork.exceptions import TypeConversionError
  from woodwork.logical_types import Boolean, Categorical, Datetime, Double, Integer, NaturalLanguage
  from featuretools.entityset.entityset import LTI_COLUMN_NAME, EntitySet
  from featuretools.tests.testing_utils import to_pandas
  from featuretools.utils.gen_utils import Library, import_or_none, is_instance
label_desc: Use image node_id 11 for calling a global function with example usage: test_add_dataframe_to_es(df) without return types