def test_pass2_events(self): from hwp5.treeop import STARTEVENT, ENDEVENT from hwp5.treeop import prefix_event from hwp5.tagids import HWPTAG_BEGIN def items(): yield Record(HWPTAG_BEGIN + 4, 0, ''), yield Record(HWPTAG_BEGIN + 3, 1, ''), yield Record(HWPTAG_BEGIN + 2, 0, ''), yield Record(HWPTAG_BEGIN + 1, 0, ''), items = list(item for item in items()) leveld_items = zip([0, 1, 0, 0], items) events = list(prefix_event(leveld_items)) def expected(): yield STARTEVENT, items[0] yield STARTEVENT, items[1] yield ENDEVENT, items[1] yield ENDEVENT, items[0] yield STARTEVENT, items[2] yield ENDEVENT, items[2] yield STARTEVENT, items[3] yield ENDEVENT, items[3] expected = list(expected()) self.assertEquals(expected, events)
def prefix_binmodels_with_event(context, models): level_prefixed = ((model['level'], (model['type'], model['content'], context)) for model in models) return prefix_event(level_prefixed)