Page MenuHomec4science

test_word_insertion_mark.py
No OneTemporary

File Metadata

Created
Sat, Apr 27, 12:29

test_word_insertion_mark.py

import unittest
from os import sep, path
from os.path import dirname, isdir
import lxml.etree as ET
import sys
sys.path.append('svgscripts')
from datatypes.transkriptionField import TranskriptionField
from datatypes.word_insertion_mark import WordInsertionMark
from datatypes.word import Word
class TestWordInsertionMark(unittest.TestCase):
def setUp(self):
DATADIR = dirname(__file__) + sep + 'test_data'
if not isdir(DATADIR):
DATADIR = dirname(dirname(__file__)) + sep + 'test_data'
self.reference_file = DATADIR + sep + 'test_find_word.xml'
self.test_svg_file = DATADIR + sep + 'path_svg.svg'
self.error_file = DATADIR + sep + 'W_II_1_online_page15.svg'
def test_WIM_with_input(self):
wim = WordInsertionMark(x=1.0, y=1.0, previous_word_id=0, inserted_word_id=1)
self.assertEqual(wim.id, '0')
self.assertEqual(wim.left, 1.0)
self.assertEqual(wim.previous_word_id, 0)
def test_WIM_with_node(self):
mylist = { 'id': '0', 'left': '1.0', 'top': '1.0', 'height': '0', 'width': '0', 'bottom': '0', 'previous-word-id': '0', 'inserted-word-id': '1' }
node = ET.Element(WordInsertionMark.XML_TAG, attrib=mylist)
wim = WordInsertionMark(wim_node=node)
self.assertEqual(wim.id, '0')
self.assertEqual(wim.left, 1.0)
self.assertEqual(wim.previous_word_id, 0)
def test_WIM_attach_object_to_tree(self):
empty_tree= ET.parse(self.reference_file)
for node in empty_tree.xpath('//freehand'):
node.getparent().remove(node)
newWim = WordInsertionMark(x=1.0, y=1.0, previous_word_id=0)
newWim.attach_object_to_tree(empty_tree)
newWim = WordInsertionMark(id=1,x=1.0, y=1.0, previous_word_id=0)
newWim.attach_object_to_tree(empty_tree)
self.assertEqual(len(empty_tree.getroot().xpath('//' + WordInsertionMark.XML_TAG)), 2)
for wim_node in empty_tree.getroot().xpath('//' + WordInsertionMark.XML_TAG):
wim = WordInsertionMark(wim_node=wim_node)
self.assertEqual(wim.left, 1.0)
self.assertEqual(wim.top, 1.0)
self.assertEqual(wim.previous_word_id, 0)
def test_CREATE_WIM(self):
svg_tree = ET.parse(self.test_svg_file)
namespaces = { k if k is not None else 'ns': v for k, v in svg_tree.getroot().nsmap.items() }
xmin = 311.8125
ymin = 158.0117
x = 261.865
y = 15.9
wim = WordInsertionMark.CREATE_WORD_INSERTION_MARK(svg_tree, namespaces, x=x, y=y, xmin=xmin, ymin=ymin, line_number=1)
self.assertEqual(wim.symbol_id, 'glyph2-1')
def test_get_semantic_dictionary(self):
dictionary = WordInsertionMark.get_semantic_dictionary()
self.assertEqual('previous_word_id' in dictionary['properties'].keys(), True)
if __name__ == "__main__":
unittest.main()

Event Timeline