input: Write a python function to create tables in a SQLite database using SQLAlchemy and assert that the tables are created successfully.
  assert 'product' in engine.table_names()
  assert 'employee' in engine.table_names()
  assert 'customer' in engine.table_names()
  assert 'purchase' in engine.table_names()
output: def create_tables():
      from sqlalchemy import create_engine, Column, Integer, String, ForeignKey
      from sqlalchemy.ext.declarative import declarative_base
      from sqlalchemy.orm import sessionmaker
  
      engine = create_engine('sqlite:///:memory:')
      Base = declarative_base()
  
      class Product(Base):
          __tablename__ = 'product'
          id = Column(Integer, primary_key=True)
          name = Column(String)
  
      class Employee(Base):
          __tablename__ = 'employee'
          id = Column(Integer, primary_key=True)
          name = Column(String)
  
      class Customer(Base):
          __tablename__ = 'customer'
          id = Column(Integer, primary_key=True)
          name = Column(String)
  
      class Purchase(Base):
          __tablename__ = 'purchase'
          id = Column(Integer, primary_key=True)
          product_id = Column(Integer, ForeignKey('product.id'))
          employee_id = Column(Integer, ForeignKey('employee.id'))
          customer_id = Column(Integer, ForeignKey('customer.id'))
  
      Base.metadata.create_all(engine)
  
      assert 'product' in engine.table_names()
      assert 'employee' in engine.table_names()
      assert 'customer' in engine.table_names()
      assert 'purchase' in engine.table_names()