def test_line(self): data = '[@New records of smut fungi. 4. Microbotryum coronariae comb. nov.#Title*]' line = Line(data) self.assertEqual( line.line, 'New records of smut fungi. 4. Microbotryum coronariae comb. nov.') self.assertTrue(line.contains_start()) self.assertEqual(line.end_label(), 'Title') self.assertFalse(line.is_short(50)) self.assertFalse(line.is_blank())
def append(self, line: Line) -> None: if line.contains_start(): self.push_label() if line.end_label(): if self.top_label() is None: raise ValueError('label close without open: %r' % line) try: self.top_label().set_label(line.end_label()) except ValueError as e: raise ValueError('%s: %r' % (e, line)) self._lines.append(line)