#!/usr/bin/python # -*- coding: utf-8 -*- """Unit tests for header.py""" import header import unittest class KnownValues(unittest.TestCase): knownValues = ( ('==English==', 'en', 2, 'lang'), ('=={{en}}==', 'en', 2, 'lang'), ('{{-en-}}', 'en', None, 'lang'), ('===Noun===', 'noun', 3, 'pos'), ('==={{noun}}===', 'noun', 3, 'pos'), ('{{-noun-}}', 'noun', None, 'pos'), ('===Verb===', 'verb', 3, 'pos'), ('==={{verb}}===', 'verb', 3, 'pos'), ('{{-verb-}}', 'verb', None, 'pos'), ('====Translations====', 'trans', 4, 'other'), ('===={{trans}}====', 'trans', 4, 'other'), ('{{-trans-}}', 'trans', None, 'other'), ) def testHeaderInitKnownValuesContents(self): """Header parsing comparing known result with known input for contents""" for wikiline, contents, level, type in self.knownValues: result = header.Header(wikiline).contents self.assertEqual(contents, result) def testHeaderInitKnownValuesLevel(self): """Header parsing comparing known result with known input for level""" for wikiline, contents, level, type in self.knownValues: result = header.Header(wikiline).level self.assertEqual(level, result) def testHeaderInitKnownValuesType(self): """Header parsing comparing known result with known input for type""" for wikiline, contents, level, type in self.knownValues: result = header.Header(wikiline).type self.assertEqual(type, result) def testReprSanity(self): """Header __repr__, __eq__, __ne__ should give sane results""" for stuff in self.knownValues: wikiline=stuff[0] h=header.Header(wikiline) self.assertEqual(h, eval(repr(h)) ) self.assertNotEqual(h,header.Header()) if __name__ == "__main__": unittest.main()