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
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')