input: 
  class StoreItem:
      def __init__(self, item_id, name, price, description):
          """ Initializes a StoreItem object with specified attributes.
          :param item_id: Unique identifier for the item.
          :param name: Name of the item.
          :param price: Price of the item.
          :param description: Description of the item.
          """
          self.item_id = item_id
          self.name = name
          self.price = price
          self.description = description
  
      def __str__(self):
          """ Returns a string representation of the StoreItem object, formatted as 'Name, $Price'.
          >>> item = StoreItem(1, 'Book', 15.99, 'A fascinating read')
          >>> print(item)
          Book, $15.99
          """
          return f'{self.name}, ${self.price}'
  
      def to_dict(self):
          """ Converts the StoreItem object into a dictionary format.
          >>> item = StoreItem(1, 'Book', 15.99, 'A fascinating read')
          >>> item.to_dict()
          {'item_id': 1, 'name': 'Book', 'price': 15.99, 'description': 'A fascinating read'}
          """
          return {
              'item_id': self.item_id,
              'name': self.name,
              'price': self.price,
              'description': self.description
          }
  
output:     def __eq__(self, other):
          """ Compares two StoreItem objects for equality based on their item_id.
          >>> item1 = StoreItem(1, 'Book', 15.99, 'A fascinating read')
          >>> item2 = StoreItem(1, 'Book', 15.99, 'A fascinating read')
          >>> item1 == item2
          True
          >>> item3 = StoreItem(2, 'Pen', 2.99, 'A simple pen')
          >>> item1 == item3
          False
          """
          return self.item_id == other.item_id