38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
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()
|