import unittest from pyaccuwage.fields import TextField from pyaccuwage.fields import StaticField # from pyaccuwage.fields import IntegerField # from pyaccuwage.fields import StateField # from pyaccuwage.fields import BlankField # from pyaccuwage.fields import ZeroField # from pyaccuwage.fields import MoneyField from pyaccuwage.fields import ValidationError from pyaccuwage.model import Model class TestTextField(unittest.TestCase): def testStringShortOptional(self): field = TextField(max_length=6, required=False) field.validate() # optional field.value = 'Hello' field.validate() self.assertEqual(field.get_data(), b'HELLO ') def testStringShortRequired(self): field = TextField(max_length=6, required=True) with self.assertRaises(ValidationError): field.validate() field.value = 'Hello' field.validate() self.assertEqual(field.get_data(), b'HELLO ') def testStringLongOptional(self): field = TextField(max_length=6, required=False) field.value = 'Hello, World!' # too long data = field.get_data() self.assertEqual(len(data), field.max_length) self.assertEqual(data, b'HELLO,') class TestStaticField(unittest.TestCase): def test_static_field(self): field = StaticField(value='TEST') self.assertEqual(field.get_data(), b'TEST')