[Docstring-checkins] CVS: dps/test test_utils.py,1.1,1.2
Status: Pre-Alpha
Brought to you by:
goodger
From: David G. <go...@us...> - 2001-11-15 02:58:46
|
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() |