input: Write a function to generate a Python class for an online store item that includes fields for ID, name, price, and description. The class should have an initializer (__init__ method) that stores these fields as instance variables, a __str__ method that returns a string representation of the item including its name and price, and a to_dict method that returns a dictionary with the item's attributes.
  assert GenerateStoreItem() == 'class StoreItem:\n    def __init__(self, item_id, name, price, description):\n        self.item_id = item_id\n        self.name = name\n        self.price = price\n        self.description = description\n\n    def __str__(self):\n        return f\'{self.name}, ${self.price}\'\n\n    def to_dict(self):\n        return {\n            \'item_id\': self.item_id,\n            \'name\': self.name,\n            \'price\': self.price,\n            \'description\': self.description\n        }'
output: class StoreItem:
      def __init__(self, item_id, name, price, description):
          self.item_id = item_id
          self.name = name
          self.price = price
          self.description = description
  
      def __str__(self):
          return f'{self.name}, ${self.price}'
  
      def to_dict(self):
          return {
              'item_id': self.item_id,
              'name': self.name,
              'price': self.price,
              'description': self.description
          }