def test_dont_enter_while(self):
        xml_data = []
        xml_data.append(XMLData("", 10.0, 15.0, "Font", 25.0, False, True))
        xml_data.append(XMLData("", 10.0, 15.0, "Font", 25.0, False, True))
        expected_result = []
        p = PerthExtractor()

        actual_result = p.create_sentences(xml_data)
        self.assertTrue(all(elem in expected_result for elem in actual_result))
    def test_remove_footer(self):
        xml_data = self.add_three_gap()
        xml_data.append(XMLData("", 10.0, 49.0, "Font", 23.0, False, True))
        xml_data.insert(0, XMLData("", 10.0, 49.0, "Font", 23.0, False, True))

        expected_result = []
        p = PerthExtractor()

        actual_result = p.create_sentences(xml_data)
        self.assertTrue(all(elem in expected_result for elem in actual_result))
    def test_create_sentences_none(self):
        captured_output = io.StringIO()
        sys.stdout = captured_output

        xml_data = None
        p = PerthExtractor()
        expected_result = []
        actual_result = p.create_sentences(xml_data)

        sys.stdout = sys.__stdout__

        self.assertTrue(all(elem in expected_result for elem in actual_result))
    def test_skip_on_two_gap(self):
        xml_data = self.add_two_gap()
        xml_data.insert(0, XMLData("a", 10.0, 100.0, "Font", 23.0, False,
                                   True))
        xml_data.append(XMLData("b", 16.0, 100.0, "Font", 23.0, False, True))
        xml_data.append(XMLData("b", 770.0, 100.0, "Font", 23.0, False, True))

        expected_result = []
        p = PerthExtractor()

        actual_result = p.create_sentences(xml_data)
        self.assertTrue(all(elem in expected_result for elem in actual_result))
    def test_skip_all_gaps(self):
        xml_data = []
        xml_data.append(XMLData(".", 10.0, 100.0, "Font", 23.0, False, True))
        xml_data.append(XMLData("a", 270.0, 100.0, "Font", 23.0, False, True))
        xml_data.append(XMLData("b", 10.0, 100.0, "Font", 23.0, False, True))
        xml_data.append(XMLData("c", 26.0, 10.0, "Font", 23.0, False, True))
        xml_data.append(XMLData("d", 10.0, 10.0, "Font", 23.0, False, True))

        expected_result = []
        p = PerthExtractor()

        actual_result = p.create_sentences(xml_data)
        self.assertTrue(all(elem in expected_result for elem in actual_result))
    def test_two_gap_add(self):
        #xml_data = self.add_two_gap()
        xml_data = []
        xml_data.append(XMLData("A", 10.0, 100.0, "Font", 23.0, False, True))
        xml_data.append(XMLData(" ", 26.0, 100.0, "Font", 23.0, False, True))
        xml_data.append(XMLData(" ", 10.0, 100.0, "Font", 23.0, False, True))
        xml_data.append(XMLData("d", 26.0, 10.0, "Font", 23.0, False, True))
        xml_data.append(XMLData("d", 10.0, 10.0, "Font", 23.0, False, True))

        expected_result = []
        p = PerthExtractor()

        actual_result = p.create_sentences(xml_data)
        self.assertTrue(all(elem in expected_result for elem in actual_result))
    def test_create_remove_footer(self):
        xml_data = []
        xml_data.append(XMLData("a", 10.0, 10.0, "Font", 23.0, False, True))
        xml_data.append(XMLData("b", 10.0, 100.0, "Font", 23.0, False, True))
        xml_data.append(XMLData("c", 10.0, 100.0, "Font", 23.0, False, True))
        xml_data.append(XMLData("d", 10.0, 100.0, "Font", 23.0, False, True))
        xml_data.append(XMLData(".", 10.0, 100.0, "Font", 23.0, False, True))
        xml_data.append(XMLData(" ", 10.0, 100.0, "Font", 23.0, False, True))
        xml_data.append(XMLData("z", 10.0, 100.0, "Font", 23.0, False, True))
        xml_data.append(XMLData("z", 10.0, 100.0, "Font", 23.0, False, True))
        xml_data.append(XMLData("z", 10.0, 100.0, "Font", 23.0, False, True))

        p = PerthExtractor()
        expected_result = ["bcd."]
        actual_result = p.create_sentences(xml_data)
        self.assertTrue(all(elem in expected_result for elem in actual_result))
 def test_create_xml_empty(self):
     xml_data = []
     p = PerthExtractor()
     expected_result = []
     actual_result = p.create_sentences(xml_data)
     self.assertTrue(all(elem in expected_result for elem in actual_result))