Tests and helpers
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
import unittest
|
||||
from utils.helpers import format_currency, format_date, validate_pin, parse_price
|
||||
|
||||
class TestHelpers(unittest.TestCase):
|
||||
def test_format_currency_german(self):
|
||||
self.assertEqual(format_currency(2.50), "2,50 €")
|
||||
self.assertEqual(format_currency(1234.567), "1234,57 €")
|
||||
self.assertEqual(format_currency(0.0), "0,00 €")
|
||||
|
||||
def test_format_currency_non_german(self):
|
||||
self.assertEqual(format_currency(2.50, symbol="$", is_german=False), "$2.50")
|
||||
self.assertEqual(format_currency(0.99, symbol="£", is_german=False), "£0.99")
|
||||
|
||||
def test_format_date(self):
|
||||
self.assertEqual(format_date("2026-06-02T15:00:00.000000"), "02.06.2026")
|
||||
self.assertEqual(format_date("2026-12-25T18:30:00"), "25.12.2026")
|
||||
self.assertEqual(format_date("invalid-date-format"), "invalid-da")
|
||||
|
||||
def test_validate_pin(self):
|
||||
self.assertTrue(validate_pin("1234"))
|
||||
self.assertTrue(validate_pin("4242"))
|
||||
self.assertTrue(validate_pin("123456"))
|
||||
self.assertFalse(validate_pin("123")) # too short
|
||||
self.assertFalse(validate_pin("123a")) # non-numeric
|
||||
self.assertFalse(validate_pin("")) # empty
|
||||
|
||||
def test_parse_price(self):
|
||||
self.assertEqual(parse_price("2.50"), 2.50)
|
||||
self.assertEqual(parse_price("2,50"), 2.50)
|
||||
self.assertEqual(parse_price(" 0,99 "), 0.99)
|
||||
with self.assertRaises(ValueError):
|
||||
parse_price("-2.50") # negative
|
||||
with self.assertRaises(ValueError):
|
||||
parse_price("abc") # non-numeric
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user