import unittest from core.item import Item class TestItem(unittest.TestCase): def test_item_initialization(self): item = Item("coffee", "Coffee", 2.50) self.assertEqual(item.id, "coffee") self.assertEqual(item.name, "Coffee") self.assertEqual(item.price, 2.50) def test_item_price_conversion(self): item = Item("tea", "Tea", "1.80") self.assertEqual(item.price, 1.80) self.assertIsInstance(item.price, float) def test_to_json(self): item = Item("sandwich", "Sandwich", 5.00) expected = { "id": "sandwich", "name": "Sandwich", "price": 5.00 } self.assertEqual(item.to_json(), expected) def test_from_json(self): data = { "id": "sandwich", "name": "Sandwich", "price": 5.00 } item = Item.from_json(data) self.assertEqual(item.id, "sandwich") self.assertEqual(item.name, "Sandwich") self.assertEqual(item.price, 5.00) if __name__ == "__main__": unittest.main()