o
    h&                     @   s   d Z ddlZddlmZ ddlmZ ddlZddlT ej	j
ZdZdZdZdZd	Zd
dddZdZdZdd
iZdZi fddZdd Zdd Zdd Zdd Zdd Zdd ZdS )z,
Tests for starting a server in Python code
    N)AnnotationException)*zJoe Smith lives in California.a  
Sentence #1 (6 tokens):
Joe Smith lives in California.

Tokens:
[Text=Joe CharacterOffsetBegin=0 CharacterOffsetEnd=3 PartOfSpeech=NNP Lemma=Joe NamedEntityTag=PERSON]
[Text=Smith CharacterOffsetBegin=4 CharacterOffsetEnd=9 PartOfSpeech=NNP Lemma=Smith NamedEntityTag=PERSON]
[Text=lives CharacterOffsetBegin=10 CharacterOffsetEnd=15 PartOfSpeech=VBZ Lemma=live NamedEntityTag=O]
[Text=in CharacterOffsetBegin=16 CharacterOffsetEnd=18 PartOfSpeech=IN Lemma=in NamedEntityTag=O]
[Text=California CharacterOffsetBegin=19 CharacterOffsetEnd=29 PartOfSpeech=NNP Lemma=California NamedEntityTag=STATE_OR_PROVINCE]
[Text=. CharacterOffsetBegin=29 CharacterOffsetEnd=30 PartOfSpeech=. Lemma=. NamedEntityTag=O]

Dependency Parse (enhanced plus plus dependencies):
root(ROOT-0, lives-3)
compound(Smith-2, Joe-1)
nsubj(lives-3, Smith-2)
case(California-5, in-4)
obl:in(lives-3, California-5)
punct(lives-3, .-6)

Extracted the following NER entity mentions:
Joe Smith       PERSON              PERSON:0.9972202681743931
California      STATE_OR_PROVINCE   LOCATION:0.9990868267559281

Extracted the following KBP triples:
1.0 Joe Smith per:statesorprovinces_of_residence California
a  
Sentence #1 (6 tokens):
Joe Smith lives in California.

Tokens:
[Text=Joe CharacterOffsetBegin=0 CharacterOffsetEnd=3 PartOfSpeech=NNP]
[Text=Smith CharacterOffsetBegin=4 CharacterOffsetEnd=9 PartOfSpeech=NNP]
[Text=lives CharacterOffsetBegin=10 CharacterOffsetEnd=15 PartOfSpeech=VBZ]
[Text=in CharacterOffsetBegin=16 CharacterOffsetEnd=18 PartOfSpeech=IN]
[Text=California CharacterOffsetBegin=19 CharacterOffsetEnd=29 PartOfSpeech=NNP]
[Text=. CharacterOffsetBegin=29 CharacterOffsetEnd=30 PartOfSpeech=.]
zKAngela Merkel ist seit 2005 Bundeskanzlerin der Bundesrepublik Deutschland.a  
Sentence #1 (10 tokens):
Angela Merkel ist seit 2005 Bundeskanzlerin der Bundesrepublik Deutschland.

Tokens:
[Text=Angela CharacterOffsetBegin=0 CharacterOffsetEnd=6 PartOfSpeech=PROPN Lemma=angela NamedEntityTag=PERSON]
[Text=Merkel CharacterOffsetBegin=7 CharacterOffsetEnd=13 PartOfSpeech=PROPN Lemma=merkel NamedEntityTag=PERSON]
[Text=ist CharacterOffsetBegin=14 CharacterOffsetEnd=17 PartOfSpeech=AUX Lemma=ist NamedEntityTag=O]
[Text=seit CharacterOffsetBegin=18 CharacterOffsetEnd=22 PartOfSpeech=ADP Lemma=seit NamedEntityTag=O]
[Text=2005 CharacterOffsetBegin=23 CharacterOffsetEnd=27 PartOfSpeech=NUM Lemma=2005 NamedEntityTag=O]
[Text=Bundeskanzlerin CharacterOffsetBegin=28 CharacterOffsetEnd=43 PartOfSpeech=NOUN Lemma=bundeskanzlerin NamedEntityTag=O]
[Text=der CharacterOffsetBegin=44 CharacterOffsetEnd=47 PartOfSpeech=DET Lemma=der NamedEntityTag=O]
[Text=Bundesrepublik CharacterOffsetBegin=48 CharacterOffsetEnd=62 PartOfSpeech=PROPN Lemma=bundesrepublik NamedEntityTag=LOCATION]
[Text=Deutschland CharacterOffsetBegin=63 CharacterOffsetEnd=74 PartOfSpeech=PROPN Lemma=deutschland NamedEntityTag=LOCATION]
[Text=. CharacterOffsetBegin=74 CharacterOffsetEnd=75 PartOfSpeech=PUNCT Lemma=. NamedEntityTag=O]

Dependency Parse (enhanced plus plus dependencies):
root(ROOT-0, Bundeskanzlerin-6)
nsubj(Bundeskanzlerin-6, Angela-1)
flat(Angela-1, Merkel-2)
cop(Bundeskanzlerin-6, ist-3)
case(2005-5, seit-4)
nmod:seit(Bundeskanzlerin-6, 2005-5)
det(Bundesrepublik-8, der-7)
nmod(Bundeskanzlerin-6, Bundesrepublik-8)
appos(Bundesrepublik-8, Deutschland-9)
punct(Bundeskanzlerin-6, .-10)

Extracted the following NER entity mentions:
Angela Merkel              PERSON   PERSON:0.9999981583351504
Bundesrepublik Deutschland LOCATION LOCATION:0.9682902289749544
ztokenize,ssplit,posdez3edu/stanford/nlp/models/pos-tagger/german-ud.tagger)
annotatorsztokenize.languagez	pos.modela  
Sentence #1 (10 tokens):
Angela Merkel ist seit 2005 Bundeskanzlerin der Bundesrepublik Deutschland.

Tokens:
[Text=Angela CharacterOffsetBegin=0 CharacterOffsetEnd=6 PartOfSpeech=PROPN]
[Text=Merkel CharacterOffsetBegin=7 CharacterOffsetEnd=13 PartOfSpeech=PROPN]
[Text=ist CharacterOffsetBegin=14 CharacterOffsetEnd=17 PartOfSpeech=AUX]
[Text=seit CharacterOffsetBegin=18 CharacterOffsetEnd=22 PartOfSpeech=ADP]
[Text=2005 CharacterOffsetBegin=23 CharacterOffsetEnd=27 PartOfSpeech=NUM]
[Text=Bundeskanzlerin CharacterOffsetBegin=28 CharacterOffsetEnd=43 PartOfSpeech=NOUN]
[Text=der CharacterOffsetBegin=44 CharacterOffsetEnd=47 PartOfSpeech=DET]
[Text=Bundesrepublik CharacterOffsetBegin=48 CharacterOffsetEnd=62 PartOfSpeech=PROPN]
[Text=Deutschland CharacterOffsetBegin=63 CharacterOffsetEnd=74 PartOfSpeech=PROPN]
[Text=. CharacterOffsetBegin=74 CharacterOffsetEnd=75 PartOfSpeech=PUNCT]
a  
Sentence #1 (10 tokens):
Angela Merkel ist seit 2005 Bundeskanzlerin der Bundesrepublik Deutschland.

Tokens:
[Text=Angela CharacterOffsetBegin=0 CharacterOffsetEnd=6]
[Text=Merkel CharacterOffsetBegin=7 CharacterOffsetEnd=13]
[Text=ist CharacterOffsetBegin=14 CharacterOffsetEnd=17]
[Text=seit CharacterOffsetBegin=18 CharacterOffsetEnd=22]
[Text=2005 CharacterOffsetBegin=23 CharacterOffsetEnd=27]
[Text=Bundeskanzlerin CharacterOffsetBegin=28 CharacterOffsetEnd=43]
[Text=der CharacterOffsetBegin=44 CharacterOffsetEnd=47]
[Text=Bundesrepublik CharacterOffsetBegin=48 CharacterOffsetEnd=62]
[Text=Deutschland CharacterOffsetBegin=63 CharacterOffsetEnd=74]
[Text=. CharacterOffsetBegin=74 CharacterOffsetEnd=75]
r   c                 C   s,   t   }| j||dd}t   }|||dS )z: Submit an annotation request and return how long it took text)
propertiesoutput_format)
annotation
start_timeend_time)timeannotate)clientr   r   startannend r   `/var/www/html/env_mimamsha/lib/python3.10/site-packages/stanza/tests/server/test_server_start.pyannotate_and_time   s   r   c                  C   sl   t jdd&} td t| t}t|d t |d |d  dk s$J W d   dS 1 s/w   Y  dS )	zK Test that the default annotators load fully immediately upon server start test_server_start_preload)	server_id   r	   r   r
      N)corenlpCoreNLPClientr   sleepr   EN_DOCcompare_ignoring_whitespaceEN_PRELOAD_GOLD)r   resultsr   r   r   test_preload   s   

"r    c                  C   V   t jtdd} | jtdd}| t ksJ W d   dS 1 s$w   Y  dS )z, Test starting the server with a props file test_server_start_props_filer   r   r   r   N)r   r   SERVER_TEST_PROPSr   r   stripEN_PROPS_FILE_GOLDr   r   r   r   r   test_props_file      "r)   c                  C   sL   t jddd} | jtdd}t|t W d   dS 1 sw   Y  dS )z@ Test starting the server with a Stanford CoreNLP language name germantest_server_start_lang_namer#   r   r$   N)r   r   r   
GERMAN_DOCr   GERMAN_FULL_PROPS_GOLDr(   r   r   r   test_lang_start   s   "r/   c                  C   r!   )zI Test starting the server with a Python dictionary as default properties test_server_start_python_dictr#   r   r$   N)r   r   GERMAN_SMALL_PROPSr   r-   r&   GERMAN_SMALL_PROPS_GOLDr(   r   r   r   test_python_dict   r*   r3   c                  C   sX   t jtddd} | jtdd}| t ksJ W d   dS 1 s%w   Y  dS )z^ Test starting the server with a Python dictionary as default properties, override annotators ztokenize,ssplit*test_server_start_python_dict_w_annotators)r   r   r   r   r$   N)r   r   r1   r   r-   r&   $GERMAN_SMALL_PROPS_W_ANNOTATORS_GOLDr(   r   r   r   test_python_dict_w_annotators   s   "r6   c                  C   s   t jtddddG} | jtdddd}| t ksJ z| jtdddd}J  ty: } zW Y d	}~nd	}~w tyG } zJ d	}~ww W d	   d	S 1 sSw   Y  d	S )
z5 Test starting a server with a username and password z	user-12341234test_server_username_pass)r   usernamepasswordr   r   )r   r9   r:   12345FN)	r   r   USERNAME_PASS_PROPSr   r   r&   USERNAME_PASS_GOLDr   	Exception)r   r   aeer   r   r   test_username_password   s$   
"rA   )__doc__pyteststanza.serverserverr   stanza.server.clientr   r   stanza.testsmarkr   
pytestmarkr   r   r'   r-   r.   r1   r2   r5   r<   r=   r   r    r)   r/   r3   r6   rA   r   r   r   r   <module>   s4    "
