def test_ST_invalid_highlight_range(self): st = ST('HIGHLIGHTEDTEXTIMPORTANT', highlights=((0, 11), (4, 24))) self.assertRaises(InvalidHighlightRange, st.to_er7) st = ST('HIGHLIGHTEDTEXTIMPORTANT', highlights=((4, 24), (0, 11))) self.assertRaises(InvalidHighlightRange, st.to_er7) st = ST('HIGHLIGHTEDTEXTIMPORTANT', highlights=((5, 11), (0, 11))) self.assertRaises(InvalidHighlightRange, st.to_er7) st = ST('HIGHLIGHTEDTEXTIMPORTANT', highlights=((0, 11), (0, 4))) self.assertRaises(InvalidHighlightRange, st.to_er7)
def test_ST_highlights(self): st = ST('HIGHLIGHTEDTEXTIMPORTANT', highlights=((0, 11), (18, 24))) self.assertEqual(st.to_er7(), '\\H\\HIGHLIGHTED\\N\\TEXTIMP\\H\\ORTANT\\N\\')
def test_ST_subcomponent_escape(self): st = ST('&subcomponent&') self.assertEqual(st.to_er7(), '\\T\\subcomponent\\T\\')
def test_ST_repetition_escape(self): st = ST('~repetition~') self.assertEqual(st.to_er7(), '\\R\\repetition\\R\\')
def test_ST_component_escape(self): st = ST('^component^') self.assertEqual(st.to_er7(), '\\S\\component\\S\\')
def test_ST_field_escaping(self): st = ST('|field|') self.assertEqual(st.to_er7(), '\\F\\field\\F\\')
def test_ST_maxlength(self): s = 'a' * (ST(' ').max_length + 100) ST(s)
def test_ST_maxlength_strict(self): s = 'a' * (ST(' ').max_length + 1) self.assertRaises(MaxLengthReached, ST, s, validation_level=VALIDATION_LEVEL.STRICT)
def test_ST(self): st = ST('Specimen') self.assertEqual(st.classname, 'ST') self.assertEqual(st.to_er7(), 'Specimen')