Exemplo n.º 1
0
 def setUp(self):
     self.name = Field(String, 10, name='name', start=0, fill='P',
                       truncate=True, default=u'default')
     self.age = Field(Int, 4, name='age', start=10)
     self.a = Foo()
     self.a.name = 'ariel'
     self.a.age = 32
Exemplo n.º 2
0
class TestField(unittest.TestCase):

    def setUp(self):
        self.name = Field(String, 10, name='name', start=0, fill='P',
                          truncate=True, default=u'default')
        self.age = Field(Int, 4, name='age', start=10)
        self.a = Foo()
        self.a.name = 'ariel'
        self.a.age = 32

    def test_init(self):
        self.assertEquals(self.name.name, 'name')
        self.assertEquals(self.name.start, 0)
        self.assertEquals(self.name.width, 10)
        self.assertEquals(self.name.converter.default, u'default')

        self.assertIsInstance(self.name.converter, String)
        self.assertTrue(self.name.converter.truncate)
        self.assertEquals(self.name.converter.fill, 'P')
        self.assertEquals(self.name.width, 10)

    def test_string_to_string(self):
        self.assertEqual(self.name.to_string(self.a), 'arielPPPPP')

    def test_int_to_string(self):
        self.assertEqual(self.age.to_string(self.a), '0032')

    def test_to_value_string(self):
        f = Foo()
        self.name.to_value('arielPPPPP', f)
        self.assertEqual(f.name, self.a.name)

    def test_to_value_int(self):
        f = Foo()
        self.age.to_value('0032', f)
        self.assertEqual(f.age, self.a.age)

    def test_to_string_defaults_too_large(self):
        f = Field(String, 10, name='name', start=0)
        self.a.name = 'ariel rossanigo'
        self.assertRaises(ValueError, f.to_string, self.a)

    def test_to_string_too_large_with_truncate(self):
        self.a.name = 'ariel rossanigo'
        self.assertEquals(self.name.to_string(self.a), 'ariel ross')