Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F84140784
test_super_page.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
Fri, Sep 20, 23:19
Size
4 KB
Mime Type
text/x-python
Expires
Sun, Sep 22, 23:19 (2 d)
Engine
blob
Format
Raw Data
Handle
20943728
Attached To
rNIETZSCHEPYTHON nietzsche-python
test_super_page.py
View Options
import
unittest
from
os
import
sep
,
path
from
os.path
import
isdir
,
isfile
,
dirname
,
basename
import
lxml.etree
as
ET
import
shutil
import
sys
import
tempfile
sys
.
path
.
append
(
'svgscripts'
)
from
datatypes.super_page
import
SuperPage
from
datatypes.page
import
Page
from
datatypes.faksimile_image
import
FaksimileImage
from
datatypes.text_field
import
TextField
sys
.
path
.
append
(
'shared_util'
)
from
myxmlwriter
import
write_pretty
class
TestSuperPage
(
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
.
pdf_xml
=
DATADIR
+
sep
+
'W_I_8_page125.xml'
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
.
tmp_dir
=
tempfile
.
mkdtemp
()
def
test_init_property
(
self
):
xml_file
=
self
.
tmp_dir
+
sep
+
'asdf.xml'
sp
=
SuperPage
(
xml_file
,
title
=
'test'
,
page_number
=
1
)
sp
.
init_property
(
'title'
)
sp
.
init_property
(
'number'
)
self
.
assertEqual
(
sp
.
title
,
'test'
)
self
.
assertEqual
(
sp
.
number
,
'1'
)
text_field
=
TextField
()
image
=
FaksimileImage
(
file_name
=
'test.jpg'
,
height
=
10
,
width
=
20
,
text_field
=
text_field
)
sp
.
init_property
(
'faksimile_image'
,
value
=
image
)
write_pretty
(
xml_element_tree
=
sp
.
page_tree
,
file_name
=
xml_file
,
script_name
=
'test'
,
file_type
=
SuperPage
.
FILE_TYPE_SVG_WORD_POSITION
)
sp
=
SuperPage
(
xml_file
)
sp
.
_init_tree
()
#print(ET.dump(sp.page_tree.getroot()))
sp
.
init_property
(
'title'
)
sp
.
init_property
(
'number'
)
self
.
assertEqual
(
sp
.
title
,
'test'
)
self
.
assertEqual
(
sp
.
number
,
'1'
)
sp
.
init_property
(
'faksimile_image'
)
self
.
assertEqual
(
sp
.
faksimile_image
.
file_name
,
'test.jpg'
)
self
.
assertEqual
(
sp
.
faksimile_image
.
text_field
.
id
,
'0'
)
sp
.
init_property
(
'text_field'
)
self
.
assertEqual
(
sp
.
text_field
.
id
,
'0'
)
image
=
FaksimileImage
(
file_name
=
'asdf.jpg'
)
sp
.
init_property
(
'title'
,
value
=
'asdf'
,
overwrite
=
True
)
sp
.
init_property
(
'number'
,
value
=
2
,
overwrite
=
True
)
sp
.
init_property
(
'faksimile_image'
,
value
=
image
,
overwrite
=
True
)
self
.
assertEqual
(
sp
.
title
,
'asdf'
)
self
.
assertEqual
(
sp
.
number
,
'2'
)
self
.
assertEqual
(
sp
.
faksimile_image
.
file_name
,
'asdf.jpg'
)
def
test_init_property2
(
self
):
xml_file
=
self
.
tmp_dir
+
sep
+
'asdf.xml'
sp
=
SuperPage
(
xml_file
,
title
=
'test'
,
page_number
=
1
)
sp
.
init_all_properties
()
self
.
assertEqual
(
sp
.
title
,
'test'
)
self
.
assertEqual
(
sp
.
number
,
'1'
)
self
.
assertEqual
(
sp
.
faksimile_image
,
None
)
self
.
assertEqual
(
sp
.
svg_image
,
None
)
self
.
assertEqual
(
sp
.
multipage_index
,
-
1
)
def
test_init_tree
(
self
):
sp
=
SuperPage
(
'asdf.xml'
,
title
=
'test'
,
page_number
=
1
)
self
.
assertEqual
(
sp
.
xml_file
,
'asdf.xml'
)
with
self
.
assertRaises
(
Exception
):
sp
=
SuperPage
(
self
.
test_manuscript
,
title
=
'test'
,
page_number
=
1
)
sp
=
SuperPage
(
'asdf.xml'
,
title
=
'test'
,
page_number
=
1
)
with
self
.
assertRaises
(
Exception
):
sp
.
init_tree
(
should_exist
=
True
)
def
test_update_property_dictionary
(
self
):
xml_file
=
self
.
tmp_dir
+
sep
+
'asdf.xml'
sp
=
SuperPage
(
xml_file
,
title
=
'test'
,
page_number
=
1
)
sp
.
update_property_dictionary
(
'title'
,
'Hello World'
)
sp
.
init_property
(
'title'
)
self
.
assertEqual
(
sp
.
title
,
'Hello World'
)
def
test_get_line_number
(
self
):
page
=
Page
(
self
.
test_file
)
self
.
assertEqual
(
page
.
get_line_number
(
(
page
.
words
[
0
]
.
transkription_positions
[
0
]
.
bottom
+
page
.
words
[
0
]
.
transkription_positions
[
0
]
.
top
)
/
2
),
1
)
self
.
assertEqual
(
page
.
get_line_number
(
(
page
.
words
[
27
]
.
transkription_positions
[
0
]
.
bottom
+
page
.
words
[
27
]
.
transkription_positions
[
0
]
.
top
)
/
2
),
2
)
self
.
assertEqual
(
page
.
get_line_number
(
(
page
.
words
[
105
]
.
transkription_positions
[
0
]
.
bottom
+
page
.
words
[
105
]
.
transkription_positions
[
0
]
.
top
)
/
2
),
7
)
def
tearDown
(
self
):
shutil
.
rmtree
(
self
.
tmp_dir
,
ignore_errors
=
True
)
if
__name__
==
"__main__"
:
unittest
.
main
()
Event Timeline
Log In to Comment