Source code for rupo.files.test_reader

# -*- coding: utf-8 -*-
# Автор: Гусев Илья
# Описание: Тесты считывателя разметок.

import unittest

from rupo.files.reader import Reader, FileType
from rupo.stress.predictor import CombinedStressPredictor
from rupo.main.markup import Markup, Line, Word
from rupo.settings import MARKUP_XML_EXAMPLE, TEXT_XML_EXAMPLE, MARKUP_JSON_EXAMPLE


[docs]class TestReader(unittest.TestCase):
[docs] @classmethod def setUpClass(cls): cls.stress_predictor = CombinedStressPredictor()
[docs] def test_read(self): processed_xml = Reader.read_markups(MARKUP_XML_EXAMPLE, FileType.XML, is_processed=True) self.__assert_markup_is_correct(next(processed_xml)) unprocessed_xml = Reader.read_markups(TEXT_XML_EXAMPLE, FileType.XML, is_processed=False, stress_predictor=self.stress_predictor) self.__assert_markup_is_correct(next(unprocessed_xml)) processed_json = Reader.read_markups(MARKUP_JSON_EXAMPLE, FileType.JSON, is_processed=True) self.__assert_markup_is_correct(next(processed_json))
def __assert_markup_is_correct(self, markup): self.assertIsInstance(markup, Markup) self.assertIsNotNone(markup.text) self.assertNotEqual(markup.text, "") self.assertNotEqual(markup.lines, []) self.assertIsInstance(markup.lines[0], Line) self.assertIsInstance(markup.lines[0].words[0], Word)