mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-06-26 13:00:39 +03:00
Fix resolution for empty entities
This commit is contained in:
parent
b3fd0d9ff7
commit
3360facd10
|
@ -13,7 +13,11 @@ def resolve_entity(ref: EntityReference, context: TermContext) -> str:
|
||||||
alias = ref.entity
|
alias = ref.entity
|
||||||
if alias not in context:
|
if alias not in context:
|
||||||
return f'!Неизвестная сущность: {alias}!'
|
return f'!Неизвестная сущность: {alias}!'
|
||||||
return context[alias].get_form(ref.form)
|
resolved = context[alias].get_form(ref.form)
|
||||||
|
if resolved == '':
|
||||||
|
return f'!Отсутствует термин: {alias}!'
|
||||||
|
else:
|
||||||
|
return resolved
|
||||||
|
|
||||||
|
|
||||||
def resolve_syntactic(ref: SyntacticReference, index: int, allrefs: list['ResolvedReference']) -> str:
|
def resolve_syntactic(ref: SyntacticReference, index: int, allrefs: list['ResolvedReference']) -> str:
|
||||||
|
|
|
@ -25,6 +25,7 @@ class TestReferences(unittest.TestCase):
|
||||||
self.assertIsNone(parse_reference('invalid'))
|
self.assertIsNone(parse_reference('invalid'))
|
||||||
self.assertIsNone(parse_reference(' '))
|
self.assertIsNone(parse_reference(' '))
|
||||||
self.assertIsNone(parse_reference('@{|}'))
|
self.assertIsNone(parse_reference('@{|}'))
|
||||||
|
self.assertIsNone(parse_reference('@{|черный}'))
|
||||||
self.assertIsNone(parse_reference('@{ | }'))
|
self.assertIsNone(parse_reference('@{ | }'))
|
||||||
self.assertIsNone(parse_reference('@{-1| }'))
|
self.assertIsNone(parse_reference('@{-1| }'))
|
||||||
self.assertIsNone(parse_reference('@{1| }'))
|
self.assertIsNone(parse_reference('@{1| }'))
|
||||||
|
|
|
@ -13,11 +13,13 @@ class TestResolver(unittest.TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.context = cast(TermContext, {})
|
self.context = cast(TermContext, {})
|
||||||
self.context['X1'] = Entity('X1', 'человек')
|
self.context['X1'] = Entity('X1', 'человек')
|
||||||
|
self.context['X2'] = Entity('X2', '')
|
||||||
self.resolver = Resolver(self.context)
|
self.resolver = Resolver(self.context)
|
||||||
|
|
||||||
def test_resolve_entity(self):
|
def test_resolve_entity(self):
|
||||||
self.assertEqual(resolve_entity(EntityReference('X1', ''), self.context), 'человек')
|
self.assertEqual(resolve_entity(EntityReference('X1', ''), self.context), 'человек')
|
||||||
self.assertEqual(resolve_entity(EntityReference('X1', 'plur'), self.context), 'люди')
|
self.assertEqual(resolve_entity(EntityReference('X1', 'plur'), self.context), 'люди')
|
||||||
|
self.assertEqual(resolve_entity(EntityReference('X2', ''), self.context), '!Отсутствует термин: X2!')
|
||||||
self.assertEqual(resolve_entity(EntityReference('X1', 'invalid'), self.context), '!Неизвестная граммема: invalid!')
|
self.assertEqual(resolve_entity(EntityReference('X1', 'invalid'), self.context), '!Неизвестная граммема: invalid!')
|
||||||
self.assertEqual(resolve_entity(EntityReference('X123', 'plur'), self.context), '!Неизвестная сущность: X123!')
|
self.assertEqual(resolve_entity(EntityReference('X123', 'plur'), self.context), '!Неизвестная сущность: X123!')
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user