def test_dtd_to_dict_with_spaces(self): dtd_str = ''' <!ELEMENT Exercise (question, test) > <!ELEMENT empty EMPTY > <!ELEMENT question ( #PCDATA ) > <!ELEMENT test ( qcm | mqm) > <!ELEMENT qcm (choice + ) > <!ELEMENT mqm (choice + )> <!ELEMENT choice ( #PCDATA ) >''' expected = { 'Exercise': {'elts': 'question,test', 'attrs': []}, 'choice': {'elts': '#PCDATA', 'attrs': []}, 'empty': {'elts': 'EMPTY', 'attrs': []}, 'mqm': {'elts': 'choice+', 'attrs': []}, 'qcm': {'elts': 'choice+', 'attrs': []}, 'question': {'elts': '#PCDATA', 'attrs': []}, 'test': {'elts': 'qcm|mqm', 'attrs': []}, } dic = dtd_parser.dtd_to_dict_v2(dtd_str) self.assertEqual(dic, expected)
def test_dtd_to_dict(self): expected = { 'name': { 'elts': '#PCDATA', 'attrs': [] }, 'firstname': { 'elts': '#PCDATA', 'attrs': [] }, 'is-publish': { 'elts': 'EMPTY', 'attrs': [] }, 'resume': { 'elts': '#PCDATA', 'attrs': [] }, 'Movie': { 'elts': ('is-publish?,name,year,directors,' 'actors,resume?,critique*'), 'attrs': [] }, 'actor': { 'elts': 'name,firstname', 'attrs': [] }, 'director': { 'elts': 'name,firstname', 'attrs': [] }, 'directors': { 'elts': 'director+', 'attrs': [] }, 'actors': { 'elts': 'actor+', 'attrs': [] }, 'year': { 'elts': '#PCDATA', 'attrs': [] }, 'critique': { 'elts': '#PCDATA', 'attrs': [] }, } dic = dtd_parser.dtd_to_dict_v2(MOVIE_DTD) self.assertEqual(dic, expected)
def test_dtd_to_dict_with_spaces(self): dtd_str = ''' <!ELEMENT Exercise (question, test) > <!ELEMENT empty EMPTY > <!ELEMENT question ( #PCDATA ) > <!ELEMENT test ( qcm | mqm) > <!ELEMENT qcm (choice + ) > <!ELEMENT mqm (choice + )> <!ELEMENT choice ( #PCDATA ) >''' expected = { 'Exercise': { 'elts': 'question,test', 'attrs': [] }, 'choice': { 'elts': '#PCDATA', 'attrs': [] }, 'empty': { 'elts': 'EMPTY', 'attrs': [] }, 'mqm': { 'elts': 'choice+', 'attrs': [] }, 'qcm': { 'elts': 'choice+', 'attrs': [] }, 'question': { 'elts': '#PCDATA', 'attrs': [] }, 'test': { 'elts': 'qcm|mqm', 'attrs': [] }, } dic = dtd_parser.dtd_to_dict_v2(dtd_str) self.assertEqual(dic, expected)
def test_dtd_to_dict(self): expected = { 'name': {'elts': '#PCDATA', 'attrs': []}, 'firstname': {'elts': '#PCDATA', 'attrs': []}, 'is-publish': {'elts': 'EMPTY', 'attrs': []}, 'resume': {'elts': '#PCDATA', 'attrs': []}, 'Movie': { 'elts': ('is-publish?,name,year,directors,' 'actors,resume?,critique*'), 'attrs': []}, 'actor': {'elts': 'name,firstname', 'attrs': []}, 'director': {'elts': 'name,firstname', 'attrs': []}, 'directors': {'elts': 'director+', 'attrs': []}, 'actors': {'elts': 'actor+', 'attrs': []}, 'year': {'elts': '#PCDATA', 'attrs': []}, 'critique': {'elts': '#PCDATA', 'attrs': []}, } dic = dtd_parser.dtd_to_dict_v2(MOVIE_DTD) self.assertEqual(dic, expected)
def test_dtd_to_dict_attrs(self): expected = { 'comment': { 'elts': '#PCDATA', 'attrs': [('idcomment', 'ID', '#IMPLIED')] }, 'question': { 'elts': '#PCDATA', 'attrs': [('idquestion', 'ID', '#IMPLIED')] }, 'mqm': { 'elts': 'choice+', 'attrs': [('idmqm', 'ID', '#IMPLIED')] }, 'number': { 'elts': '#PCDATA', 'attrs': [] }, 'comments': { 'elts': 'comment+', 'attrs': [('idcomments', 'ID', '#IMPLIED')] }, 'choice': { 'elts': '#PCDATA', 'attrs': [('idchoice', 'ID', '#IMPLIED')] }, 'Exercise': { 'elts': 'number,test*', 'attrs': [('idexercise', 'ID', '#IMPLIED')] }, 'test': { 'elts': 'question,(qcm|mqm)*,comments?', 'attrs': [('idtest', 'ID', '#IMPLIED'), ('name', 'PCDATA', '#IMPLIED')] }, 'qcm': { 'elts': 'choice+', 'attrs': [('idqcm', 'ID', '#IMPLIED')] } } dic = dtd_parser.dtd_to_dict_v2(EXERCISE_DTD_2) self.assertEqual(dic, expected)
def test_dtd_to_dict_attrs(self): expected = { 'comment': {'elts': '#PCDATA', 'attrs': [('idcomment', 'ID', '#IMPLIED')]}, 'question': {'elts': '#PCDATA', 'attrs': [('idquestion', 'ID', '#IMPLIED')]}, 'mqm': {'elts': 'choice+', 'attrs': [('idmqm', 'ID', '#IMPLIED')]}, 'number': {'elts': '#PCDATA', 'attrs': []}, 'comments': {'elts': 'comment+', 'attrs': [('idcomments', 'ID', '#IMPLIED')]}, 'choice': {'elts': '#PCDATA', 'attrs': [('idchoice', 'ID', '#IMPLIED')]}, 'Exercise': {'elts': 'number,test*', 'attrs': [('idexercise', 'ID', '#IMPLIED')]}, 'test': {'elts': 'question,(qcm|mqm)*,comments?', 'attrs': [('idtest', 'ID', '#IMPLIED'), ('name', 'PCDATA', '#IMPLIED')]}, 'qcm': {'elts': 'choice+', 'attrs': [('idqcm', 'ID', '#IMPLIED')]} } dic = dtd_parser.dtd_to_dict_v2(EXERCISE_DTD_2) self.assertEqual(dic, expected)