input: Write a function to generate a Python class for an online store item that includes fields for ID, name, price, and description, with a method to convert the item information into a dictionary.
  
  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
          }
  
  assert StoreItem("001", "Laptop", 999.99, "High-performance laptop").to_dict() == {'item_id': '001', 'name': 'Laptop', 'price': 999.99, 'description': 'High-performance laptop'}
  assert StoreItem("002", "Smartphone", 499.99, "Next-gen smartphone").to_dict() == {'item_id': '002', 'name': 'Smartphone', 'price': 499.99, 'description': 'Next-gen smartphone'}
  assert StoreItem("003", "Tablet", 299.99, "Portable tablet").to_dict() == {'item_id': '003', 'name': 'Tablet', 'price': 299.99, 'description': 'Portable tablet'}
  assert StoreItem("004", "Headphones", 99.99, "Noise-cancelling headphones").to_dict() == {'item_id': '004', 'name': 'Headphones', 'price': 99.99, 'description': 'Noise-cancelling headphones'}
  assert StoreItem("005", "Keyboard", 49.99, "Mechanical keyboard").to_dict() == {'item_id': '005', 'name': 'Keyboard', 'price': 49.99, 'description': 'Mechanical keyboard'}
output: def to_dict(self):
      return {
          'item_id': self.item_id,
          'name': self.name,
          'price': self.price,
          'description': self.description
      }