Page MenuHomec4science

test_page_creator.py
No OneTemporary

File Metadata

Created
Sat, Apr 27, 14:04

test_page_creator.py

import unittest
from os import sep, path
from os.path import isdir, isfile, dirname, basename
import lxml.etree as ET
import sys
import tempfile
sys.path.append('svgscripts')
dir_changed = False
if not isdir('datatypes'):
sys.path.append(dirname(sys.path[0]))
dir_changed = True
from datatypes.lineNumber import LineNumber
from datatypes.mark_foreign_hands import MarkForeignHands
from datatypes.page_creator import PageCreator
from datatypes.page import STATUS_MERGED_OK, STATUS_POSTMERGED_OK
from datatypes.path import Path
from datatypes.text_connection_mark import TextConnectionMark
from datatypes.transkriptionField import TranskriptionField
from datatypes.writing_process import WritingProcess
from datatypes.word import Word
class TestPage(unittest.TestCase):
def setUp(self):
DATADIR = dirname(__file__) + sep + 'test_data'
if not isdir(DATADIR):
DATADIR = dirname(dirname(__file__)) + sep + 'test_data'
self.test_file = DATADIR + sep + 'test.xml'
self.test_svg_file = DATADIR + sep + 'test421.svg'
self.xml_file = DATADIR + sep + 'N_VII_1_page005.xml'
self.xml_fileB = DATADIR + sep + 'N_VII_1_page006.xml'
self.pdf_xml_source = DATADIR + sep + 'W_I_8_neu_125-01.svg'
self.test_tcm_xml = DATADIR + sep + 'N_VII_1_page001.xml'
self.test_manuscript = DATADIR + sep + 'N_VII_1.xml'
self.svg_file125 = DATADIR + sep + 'W_I_8_page125_web.svg'
self.xml_file125 = DATADIR + sep + 'W_I_8_page125.xml'
self.tmp_dir = tempfile.mkdtemp()
def test_init(self):
xml_target_file = self.tmp_dir + sep + 'asdf.xml'
page = PageCreator(xml_target_file, svg_file=self.svg_file125)
self.assertEqual(page.svg_image.file_name, self.svg_file125)
page = PageCreator(self.xml_file125, svg_file=self.svg_file125)
self.assertEqual(page.svg_image.file_name, self.svg_file125)
self.assertEqual(page.title, 'W I 8')
self.assertEqual(page.number, '125')
def test_init_line_numbers(self):
page = PageCreator(self.test_file)
line_numbers = [ LineNumber(id=2, top=20, bottom=40), LineNumber(id=4, top=50, bottom=60), LineNumber(id=6, top=70, bottom=90) ]
page.init_line_numbers(line_numbers, 122.345)
self.assertEqual(len(page.line_numbers), 7)
self.assertEqual(page.line_numbers[0].id, 1)
self.assertEqual(page.line_numbers[6].id, 7)
self.assertEqual(page.line_numbers[6].top, 91)
self.assertEqual(page.line_numbers[6].bottom, 122.345)
self.assertEqual(page.get_line_number(122), 7)
self.assertEqual(page.get_line_number(92), 7)
self.assertEqual(page.get_line_number(22), 2)
def test_create_writing_process(self):
page = PageCreator(self.test_file)
page.create_writing_processes_and_attach2tree()
self.assertEqual(len(page.writing_processes), 3)
if __name__ == "__main__":
unittest.main()

Event Timeline