Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F86470680
test_transkription_position.py
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sun, Oct 6, 16:44
Size
5 KB
Mime Type
text/x-python
Expires
Tue, Oct 8, 16:44 (1 d, 23 h)
Engine
blob
Format
Raw Data
Handle
21428763
Attached To
rNIETZSCHEPYTHON nietzsche-python
test_transkription_position.py
View Options
import
unittest
from
os
import
sep
,
path
from
os.path
import
dirname
,
isdir
,
isfile
import
lxml.etree
as
ET
from
datatypes.debug_message
import
DebugMessage
from
datatypes.matrix
import
Matrix
from
datatypes.page
import
Page
from
datatypes.positional_word_part
import
PositionalWordPart
from
datatypes.transkription_position
import
TranskriptionPosition
from
datatypes.transkriptionField
import
TranskriptionField
from
datatypes.word_position
import
WordPosition
class
TestTranskriptionPosition
(
unittest
.
TestCase
):
def
setUp
(
self
):
DATADIR
=
dirname
(
__file__
)
+
sep
+
'test_data'
if
not
isdir
(
DATADIR
):
DATADIR
=
dirname
(
dirname
(
__file__
))
+
sep
+
'test_data'
self
.
test_svg_file
=
DATADIR
+
sep
+
'W_I_8_page125_web.svg'
self
.
test_xml
=
DATADIR
+
sep
+
'W_I_8_page125.xml'
self
.
dir
=
DATADIR
def
test_init
(
self
):
dmsg
=
DebugMessage
(
message
=
'test'
)
word_position
=
TranskriptionPosition
(
id
=
1
,
height
=
10
,
width
=
10
,
x
=
0
,
y
=
10
,
debug_message
=
dmsg
)
self
.
assertEqual
(
word_position
.
tag
,
WordPosition
.
TRANSKRIPTION
)
self
.
assertEqual
(
word_position
.
id
,
'1'
)
self
.
assertEqual
(
word_position
.
debug_message
.
message
,
'test'
)
self
.
assertEqual
(
word_position
.
height
,
10
)
self
.
assertEqual
(
word_position
.
top
,
10
)
self
.
assertEqual
(
word_position
.
bottom
,
20
)
self
.
assertEqual
(
word_position
.
left
,
0
)
self
.
assertEqual
(
word_position
.
isOnTranskription
(),
True
)
self
.
assertEqual
(
word_position
.
isOnFaksimile
(),
False
)
def
test_attach_object_to_tree
(
self
):
matrix
=
Matrix
(
'matrix(0 0 0 0 0 0)'
)
dmsg
=
DebugMessage
(
message
=
'test'
)
pwps
=
[
PositionalWordPart
(
text
=
'test'
)
]
word_position
=
TranskriptionPosition
(
id
=
1
,
height
=
10
,
width
=
10
,
x
=
0
,
y
=
10
,
matrix
=
matrix
,
debug_message
=
dmsg
,
positional_word_parts
=
pwps
)
empty_tree
=
ET
.
ElementTree
(
ET
.
Element
(
'page'
))
word_position
.
attach_object_to_tree
(
empty_tree
)
#print(ET.dump(empty_tree.getroot()))
for
node
in
empty_tree
.
getroot
()
.
xpath
(
'//'
+
word_position
.
tag
):
self
.
assertEqual
(
node
.
get
(
'id'
),
'1'
)
self
.
assertEqual
(
node
.
get
(
'bottom'
),
'20'
)
self
.
assertEqual
(
node
.
get
(
'transform'
),
matrix
.
toString
())
self
.
assertEqual
(
node
.
get
(
'writing-process-id'
),
'-1'
)
word_position
=
TranskriptionPosition
(
node
=
empty_tree
.
getroot
()
.
find
(
'.//'
+
word_position
.
tag
))
self
.
assertEqual
(
word_position
.
height
,
10
)
self
.
assertEqual
(
word_position
.
debug_message
is
not
None
,
True
)
self
.
assertEqual
(
word_position
.
debug_message
.
message
,
'test'
)
self
.
assertEqual
(
len
(
word_position
.
positional_word_parts
),
1
)
def
test_CREATE_TRANSKRIPTION_POSITION_LIST
(
self
):
page
=
Page
(
xml_source_file
=
self
.
test_xml
,
svg_file
=
self
.
test_svg_file
)
tf
=
TranskriptionField
(
page
.
svg_file
)
word_part_objs
=
[{
'text'
:
'es'
,
'class'
:
'st5 st6'
,
'x'
:
258.148
,
'y'
:
'8.5'
}]
transkription_positions
=
TranskriptionPosition
.
CREATE_TRANSKRIPTION_POSITION_LIST
(
page
,
word_part_objs
,
transkription_field
=
tf
)
self
.
assertEqual
(
transkription_positions
[
0
]
.
top
,
3.829
)
self
.
assertEqual
(
transkription_positions
[
0
]
.
height
,
5.672
)
word_part_objs
=
[{
'text'
:
'Meine'
,
'class'
:
'st5 st8'
,
'x'
:
8.504
,
'y'
:
70.5
}]
transkription_positions
=
TranskriptionPosition
.
CREATE_TRANSKRIPTION_POSITION_LIST
(
page
,
word_part_objs
,
transkription_field
=
tf
)
self
.
assertEqual
(
transkription_positions
[
0
]
.
height
,
11.11
)
self
.
assertEqual
(
transkription_positions
[
0
]
.
top
,
61.266
)
self
.
assertEqual
(
transkription_positions
[
0
]
.
bottom
,
72.376
)
def
test_CREATE_TRANSKRIPTION_POSITION_LIST_FROM_PWPS
(
self
):
page
=
Page
(
xml_source_file
=
self
.
test_xml
,
svg_file
=
self
.
test_svg_file
)
tf
=
TranskriptionField
(
page
.
svg_file
)
word_part_objs
=
[{
'text'
:
'Meine'
,
'class'
:
'st5 st8'
,
'x'
:
8.504
,
'y'
:
70.5
}]
transkription_positions
=
TranskriptionPosition
.
CREATE_TRANSKRIPTION_POSITION_LIST
(
page
,
word_part_objs
,
transkription_field
=
tf
)
transkription_positions
[
0
]
.
positional_word_parts
[
2
]
.
transform
=
Matrix
(
'rotate(20)'
)
transkription_positions
=
TranskriptionPosition
.
CREATE_TRANSKRIPTION_POSITION_LIST_FROM_PWPS
(
page
,
transkription_positions
[
0
]
.
positional_word_parts
)
self
.
assertEqual
(
len
(
transkription_positions
),
3
)
transkription_positions
=
TranskriptionPosition
.
CREATE_TRANSKRIPTION_POSITION_LIST
(
page
,
word_part_objs
,
transkription_field
=
tf
)
transkription_positions
[
0
]
.
positional_word_parts
[
0
]
.
style_class
=
'st5 st10'
transkription_positions
=
TranskriptionPosition
.
CREATE_TRANSKRIPTION_POSITION_LIST_FROM_PWPS
(
page
,
transkription_positions
[
0
]
.
positional_word_parts
)
self
.
assertEqual
(
len
(
transkription_positions
),
2
)
def
test_get_semantic_dictionary
(
self
):
dictionary
=
TranskriptionPosition
.
get_semantic_dictionary
()
self
.
assertEqual
(
TranskriptionPosition
.
XML_TAG
in
dictionary
[
'properties'
]
.
get
(
'writing_process_id'
)
.
get
(
'xpath'
),
True
)
if
__name__
==
"__main__"
:
unittest
.
main
()
Event Timeline
Log In to Comment