Page MenuHomec4science

test_py2ttl.py
No OneTemporary

File Metadata

Created
Sun, Oct 6, 15:46

test_py2ttl.py

import unittest
import lxml.etree as ET
from os import sep, path, remove
from os.path import isfile, dirname
from rdflib import Graph, URIRef
import sys
import py2ttl
from py2ttl import Py2TTLConverter
from config import PROJECT_NAME, PROJECT_ONTOLOGY_FILE
if dirname(dirname(__file__)) not in sys.path:
sys.path.append(dirname(dirname(__file__)))
from svgscripts.datatypes.word import Word
from svgscripts.datatypes.word_position import WordPosition
class TestPy2TTL(unittest.TestCase):
"""This is the unittest for py2ttl.py2ttl.
@label unittest
"""
def setUp(self):
self.ttl_target = __file__ + 'test.ttl'
def test_main(self):
argv = ['-t', self.ttl_target ]
self.assertEqual(py2ttl.main(argv), 0)
def test_init(self):
converter = Py2TTLConverter(project_ontology_file=PROJECT_ONTOLOGY_FILE)
self.assertEqual(converter.project_name, PROJECT_NAME)
def test_get_semantic_classes(self):
converter = Py2TTLConverter()
classes = converter.get_semantic_classes('svgscripts/datatypes')
self.assertEqual('FaksimileImage' in [ cls.__name__ for cls in classes ], True)
self.assertEqual('Image' in [ cls.__name__ for cls in classes ], True)
self.assertEqual('SemanticClass' in [ cls.__name__ for cls in classes ], False)
def test_createProperty(self):
converter = Py2TTLConverter(project_ontology_file=PROJECT_ONTOLOGY_FILE)
converter.createProperty(converter.base_uriref + "#Test", 'test', str, 1)
name_uri = converter.base_uriref + '#hasTest'
self.assertEqual((name_uri, None, None) in converter.project_graph, True)
def test_createPropertyName(self):
converter = Py2TTLConverter()
name = converter.createPropertyName(property_name='test_asdf_asdf')
self.assertEqual(name, 'hasTestAsdfAsdf')
name = converter.createPropertyName(object_uri=converter.base_uriref + '#Asdf')
self.assertEqual(name, 'hasAsdf')
name = converter.createPropertyName(subject_uri=converter.base_uriref + '#Test',object_uri=converter.base_uriref + '#Asdf')
self.assertEqual(name, 'testBelongsToAsdf')
name = converter.createPropertyName(subject_uri=converter.base_uriref + '#Test')
self.assertEqual(name, 'testBelongsTo')
def test_get_comment_label(self):
converter = Py2TTLConverter()
comment, label = converter.get_comment_label(TestPy2TTL)
self.assertEqual(label, 'unittest')
self.assertEqual(comment, self.__doc__.split('\n')[0].lstrip())
def test_get_builtin_cls_keys(self):
dictionary = WordPosition.get_semantic_dictionary()
converter = Py2TTLConverter()
builtin_cls_keys = converter._get_builtin_cls_keys(dictionary['properties'])
self.assertEqual('id' in builtin_cls_keys, True)
def test_get_semantic_dictionary_keys_super_first(self):
dict = Word.get_semantic_dictionary()
converter = Py2TTLConverter()
keys = converter._get_semantic_dictionary_keys_super_first(dict['properties'])
self.assertEqual(keys.index('faksimile_positions') < keys.index('transkription_positions'), True)
def tearDown(self):
isfile(self.ttl_target) and remove(self.ttl_target)
if __name__ == "__main__":
unittest.main()

Event Timeline