def test_parse(self): item = DefinitionItem.parse(['term', ' Definition.']) self.assertEqual(item, DefinitionItem('term', [], ['Definition.'])) item = DefinitionItem.parse([ 'term', ' Definition, paragraph 1.', '', ' Definition, paragraph 2.']) self.assertEqual( item, DefinitionItem( 'term', [], [ 'Definition, paragraph 1.', '', 'Definition, paragraph 2.'])) item = DefinitionItem.parse(['term ', ' Definition.']) self.assertEqual(item, DefinitionItem('term', [], ['Definition.'])) item = DefinitionItem.parse(['term : classifier', ' Definition.']) self.assertEqual( item, DefinitionItem('term', ['classifier'], ['Definition.'])) item = DefinitionItem.parse( ['term : classifier : classifier', ' Definition.']) self.assertEqual( item, DefinitionItem( 'term', ['classifier', 'classifier'], ['Definition.'])) item = DefinitionItem.parse( ['term : classifier', ' Block.', ' Definition.']) self.assertEqual( item, DefinitionItem( 'term', ['classifier'], ['Block.', ' Definition.']))
def test_is_item(self): self.assertTrue(DefinitionItem.is_item("term")) self.assertTrue(DefinitionItem.is_item("term ")) self.assertFalse(DefinitionItem.is_item("term :")) self.assertFalse(DefinitionItem.is_item("term : ")) self.assertTrue(DefinitionItem.is_item("term : classifier")) self.assertFalse(DefinitionItem.is_item(":term : classifier")) self.assertFalse(DefinitionItem.is_item("term : classifier:")) # special cases header_with_object = 'component : class.component.instance' self.assertTrue(DefinitionItem.is_item(header_with_object)) header_with_trait = 'properies : Dict(Str, Any)' self.assertTrue(DefinitionItem.is_item(header_with_trait)) header_with_or = 'item : ModelIndex or None' self.assertFalse(DefinitionItem.is_item(header_with_or)) multiple_classifiers = 'item : 1 : w2 : w.w4' self.assertTrue(DefinitionItem.is_item(multiple_classifiers))