Update of /cvsroot/docstring/dps/test
In directory usw-pr-cvs1:/tmp/cvs-serv18613/dps/test
Modified Files:
test_utils.py
Log Message:
Added 'AttributeParserTests'.
Index: test_utils.py
===================================================================
RCS file: /cvsroot/docstring/dps/test/test_utils.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** test_utils.py 2001/09/17 04:11:02 1.1
--- test_utils.py 2001/11/15 02:58:43 1.2
***************
*** 110,113 ****
--- 110,162 ----
+ class AttributeParserTests(unittest.TestCase):
+
+ def test_extractattributes(self):
+ self.assertRaises(utils.BadAttributeLineError,
+ utils.extractattributes, ['hello'])
+ self.assertRaises(utils.BadAttributeDataError,
+ utils.extractattributes, ['[hello]'])
+ self.assertRaises(utils.BadAttributeDataError,
+ utils.extractattributes, ['[=hello]'])
+ self.assertRaises(utils.BadAttributeDataError,
+ utils.extractattributes, ['[hello=]'])
+ self.assertRaises(utils.BadAttributeDataError,
+ utils.extractattributes, ['[hello="]'])
+ self.assertRaises(utils.BadAttributeDataError,
+ utils.extractattributes, ['[hello="something]'])
+ self.assertRaises(utils.BadAttributeDataError,
+ utils.extractattributes,
+ ['[hello="something"else]'])
+ output = utils.extractattributes("""\
+ [att1=val1 att2=val2 att3="value number '3'"]
+ [att4=val4]""".splitlines())
+ self.assertEquals(output, [('att1', 'val1'), ('att2', 'val2'),
+ ('att3', "value number '3'"),
+ ('att4', 'val4')])
+
+ attributespec = {'a': int, 'bbb': float, 'cdef': lambda x: x}
+
+ def test_assembleattributes(self):
+ input = utils.extractattributes(['[a=1 bbb=2.0 cdef=hol%s]'
+ % chr(224)])
+ self.assertEquals(
+ utils.assembleattributes(input, self.attributespec),
+ {'a': 1, 'bbb': 2.0, 'cdef': ('hol%s' % chr(224))})
+ input = utils.extractattributes(['[a=1 b=2.0 c=hol%s]'
+ % chr(224)])
+ self.assertRaises(KeyError, utils.assembleattributes,
+ input, self.attributespec)
+ input = utils.extractattributes(['[a=1 bbb=two cdef=hol%s]'
+ % chr(224)])
+ self.assertRaises(ValueError, utils.assembleattributes,
+ input, self.attributespec)
+
+ def test_parseattributes(self):
+ input = ['[a=1 bbb=2.0 cdef=hol%s]' % chr(224)]
+ self.assertEquals(
+ utils.parseattributes(input, self.attributespec),
+ {'a': 1, 'bbb': 2.0, 'cdef': ('hol%s' % chr(224))})
+
+
if __name__ == '__main__':
unittest.main()
|