+
     fj?  c                   B   R t ^ RIt^ RIHu Ht ^ RIt^ RIt^ RI	t	^ RI
HtHtHtHtHtHtHtHt ]P&                  ! ]4      P*                  R,          R,          t]P.                  ! ]R,          P1                  RR7      4      tR R	 lt]	P6                  P9                  R
. R(O4      R 4       tR tR tR t R t!]	P6                  P9                  R. R)O4      R 4       t"R t#R t$R t%R t&R t'R t(R t)R t*R t+R t,R t-R t.R t/R t0R  t1R! t2R" t3R# t4R$ t5R% t6R& t7R' t8R# )*u  Testes do parser de actos do registo comercial, contra actos reais.

As fixtures em `fixtures/registry/` foram recolhidas do IRN em julho de 2026 e
cobrem os layouts que existem de facto. São elas que sustentam as afirmações do
módulo: o NIF indentado, as duas variantes de secção de quotas, os dois formatos
de montante e a dupla titular+gerente na mesma constituição.

Correr:  cd backend && python -m pytest tests/ -q
N)classify_act
entity_keyentity_kindis_own_quotanormalize_address	parse_actparse_moneywants_contentfixturesregistryz
index.jsonutf-8encodingc                R    V ^8  d   QhR\         R\        \         \         3,          /# )   namereturn)strtuple)formats   "I/Volumes/www/segunor-intel-grid/backend/tests/test_registry_act_parser.py__annotate__r      s&     V Vs VuS#X V    c                 j    \         V  R 2,          P                  RR7      \        V ,          R,          3# )z.txtr   r   act)FIXTURES	read_textINDEX)r   s   &r   loadr      s/    $t}$///A5;uCUUUr   zraw,expected,currencyc                    \        V 4      w  r4W18H  qU'       g   \        P                  ! R
V3RW134      RR\        P                  ! 4       9   g   \        P
                  ! V4      '       d   \        P                  ! V4      MRRR\        P                  ! 4       9   g   \        P
                  ! V4      '       d   \        P                  ! V4      MR/,          pRRV/,          p\        \        P                  ! V4      4      hRpWB8H  qU'       g   \        P                  ! R
V3RWB34      RR\        P                  ! 4       9   g   \        P
                  ! V4      '       d   \        P                  ! V4      MRRR	\        P                  ! 4       9   g   \        P
                  ! V4      '       d   \        P                  ! V4      MR	/,          pRRV/,          p\        \        P                  ! V4      4      hRpR# )==py0valuepy2expectedzassert %(py4)spy4Ncurcurrencyr   z%(py0)s == %(py2)s)	r   
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanation)rawr#   r&   r!   r%   @py_assert1@py_format3@py_format5s   &&&     r   test_parse_moneyr5   $   s     S!JE555HH?333((r   c                  8
   R p \        V 4      pRq!V8H  q3'       g   \        P                  ! RV3RW34      RR\        P                  ! 4       9   g!   \        P
                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR	;p ;p;r2R
p \        V 4      pRq!V8H  q3'       g   \        P                  ! RV3RW34      RR\        P                  ! 4       9   g!   \        P
                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR	;p ;p;r2Rp \        V 4      pRq!V8H  q3'       g   \        P                  ! RV3RW34      RR\        P                  ! 4       9   g!   \        P
                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR	;p ;p;r2R	p \        V 4      pRq!V8H  q3'       g   \        P                  ! RV3RW34      RR\        P                  ! 4       9   g!   \        P
                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR	;p ;p;r2Rp \        V 4      pRq!V8H  q3'       g   \        P                  ! RV3RW34      RR\        P                  ! 4       9   g!   \        P
                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR	;p ;p;r2R	# )	215165195personr    r   r"   r$   py7assert %(py9)spy9N	510248900company	980785758foreignunknown	510248901invalidr'   z0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} == %(py7)s)	r   r)   r*   r+   r,   r-   r.   r/   r0   r2   @py_assert3@py_assert6@py_assert5@py_format8@py_format10s         r   $test_entity_kind_por_primeiro_digitorJ   8   s   "/;{#/x/x/////#//////;////;///{///#///x////////"0;{#0y0y00000#000000;0000;000{000#000y00000000"0;{#0y0y00000#000000;0000;000{000#000y00000000 );t)	)	)))))))))));))));)))t))))))	))))))))"0;{#0y0y00000#000000;0000;000{000#000y00000000r   c                 .
   Rp \        V 4      pRq!VJ q3'       g   \        P                  ! RV3RW34      RR\        P                  ! 4       9   g!   \        P
                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR
;p ;p;r2Rp \        V 4      pRq!VJ q3'       g   \        P                  ! RV3RW34      RR\        P                  ! 4       9   g!   \        P
                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR
;p ;p;r2Rp \        V 4      pRq!VJ q3'       g   \        P                  ! RV3RW34      RR\        P                  ! 4       9   g!   \        P
                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR
;p ;p;r2Rp \        V 4      pRq!VJ q3'       g   \        P                  ! RV3RW34      RR\        P                  ! 4       9   g!   \        P
                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR
;p ;p;r2R
p \        V 4      pRq!VJ q3'       g   \        P                  ! RV3RW34      RR\        P                  ! 4       9   g!   \        P
                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR
;p ;p;r2R
# )u   "AMORTIZADAS" aparece onde deveria estar um titular: é o estado da quota,
que pertence à sociedade. Contava para o total mas não pode gerar um sócio.AMORTIZADASTr    r   r"   r$   r9   r:   r;   Nu   Quotas própriasza sociedade    CRESCENTIMOB - IMOBILIÁRIA, LDAFisz0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} is %(py7)s)	r   r)   r*   r+   r,   r-   r.   r/   r0   rD   s         r   )test_quotas_amortizadas_nao_sao_titularesrQ   B   s    &.<&.$.$.....&......<....<......&...$........*3<*+3t3t33333+333333<3333<333*333+333t33333333%.<&.$.$.....&......<....<......&...$........:D<:;DuDuDDDDD;DDDDDD<DDDD<DDD:DDD;DDDuDDDDDDDD&<&&&&&&&&&&&&&<&&&&<&&&&&&&&&&&&&&&&&r   c                     R p Rp\        W4      pRq2V8H  qD'       g   \        P                  ! RV3RW#34      RR\        P                  ! 4       9   g!   \        P
                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pR
RV/,          p\        \        P                  ! V4      4      hR;p ;p;p;rCRp Rp\        W4      pRq2V8H  qD'       g   \        P                  ! RV3RW#34      RR\        P                  ! 4       9   g!   \        P
                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pR
RV/,          p\        \        P                  ! V4      4      hR;p ;p;p;rCRp R	p\        W4      pRq2VJ qD'       g   \        P                  ! RV3RW#34      RR\        P                  ! 4       9   g!   \        P
                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pR
RV/,          p\        \        P                  ! V4      4      hR;p ;p;p;rCR# )r<   Qualquerznif:510248900r    r   r"   r$   py6r;    assert %(py11)spy11NzTOWER VALLEY, SOCIEDAD LIMITADAz#name:tower valley sociedad limitadar'   )z9%(py6)s
{%(py6)s = %(py0)s(%(py2)s, %(py4)s)
} == %(py9)srN   z9%(py6)s
{%(py6)s = %(py0)s(%(py2)s, %(py4)s)
} is %(py9)s)	r   r)   r*   r+   r,   r-   r.   r/   r0   )r2   rE   rG   @py_assert8@py_assert7rI   @py_format12s          r   *test_entity_key_usa_nome_quando_nao_ha_nifr\   L   s   !A:A:k.A/A/AAAAA.AAAAAA:AAAA:AAAkAAA:AAA.AAA/AAAAAAAAg=g:d>gBggBgggggg>gggggg:gggg:gggdggg=ggg>gggBggggggggg'B':d'4'4''''''''''':'''':'''d'''B''''''4'''''''''r   c                     \        R R4      p \        RR4      pW8H  q"'       Eg   \        P                  ! RV3RW34      RR\        P                  ! 4       9   g   \        P
                  ! V 4      '       d   \        P                  ! V 4      MRRR\        P                  ! 4       9   g   \        P
                  ! V4      '       d   \        P                  ! V4      MR/,          p\        P                  ! V : RV: 24      R,           R	V/,          p\        \        P                  ! V4      4      hR
pR
pR
p\        W%4      pR
qvVJ q'       g   \        P                  ! RV3RWg34      RR\        P                  ! 4       9   g!   \        P
                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V4      R	\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          p	RRV	/,          p
\        \        P                  ! V
4      4      hR
;p;p;p;rR
# )u'   Rua Monsenhor Ferreira nº 228 Esquerdo4710-407u#   R. Monsenhor Ferreira n.º 228 Esq.r    ar"   bz != z
>assert %(py4)sr$   Nr   rT   r;   rV   rW   r'   r(   rN   rX   )
r   r)   r*   r+   r,   r-   r.   _format_assertmsgr/   r0   )r_   r`   r2   r3   r4   rE   rG   rY   rZ   rI   r[   s              r   0test_normalize_address_junta_rua_e_codigo_postalrb   R   s?   CZPA?LA6$$$$1$$$$$$1$$$$1$$$$$$$$$$$$$$$aU$qe$$$$$$$$!040T(0D0D00000(0000000000000T0004000(000D000000000r   ztitle,expectedc                    \        V 4      q"V8H  q3'       EgU   \        P                  ! RV3RW!34      RR\        P                  ! 4       9   g!   \        P
                  ! \         4      '       d   \        P                  ! \         4      MRRR\        P                  ! 4       9   g   \        P
                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g   \        P
                  ! V4      '       d   \        P                  ! V4      MR/,          pRR	V/,          p\        \        P                  ! V4      4      hR
;r#R
# )r   r    r   py1titlepy3py5r#   zassert %(py7)sr9   Nr'   )z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py5)s)	r   r)   r*   r+   r,   r-   r.   r/   r0   )re   r#   @py_assert2@py_assert4@py_format6rH   s   &&    r   test_classify_actrk   [   s     *(***********<****<********************(****(********r   c                     R p \        V 4      pRq!VJ q3'       g   \        P                  ! RV3RW34      RR\        P                  ! 4       9   g!   \        P
                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR	;p ;p;r2R
p \        V 4      pRq!VJ q3'       g   \        P                  ! RV3RW34      RR\        P                  ! 4       9   g!   \        P
                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR	;p ;p;r2R	# )    PRESTAÇÃO DE CONTAS INDIVIDUALFr    r   r"   r$   r9   r:   r;   NAumento do capital(online)TrN   rP   )	r   r)   r*   r+   r,   r-   r.   r/   r0   rD   s         r   'test_prestacao_de_contas_nao_vale_abrirro   j   s   ;E=;<EEEEEEE<EEEEEE=EEEE=EEE;EEE<EEEEEEEEEEE5>=56>$>$>>>>>6>>>>>>=>>>>=>>>5>>>6>>>$>>>>>>>>r   c                  (	   \        R 4      w  r\        W4      pVR,          pRqCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR,          R	,          p^qCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR	,           Uu. uF  qR
,          NK  	  p	p. ROqYV8H  q'       g   \        P                  ! RV
3RW34      RR\        P                  ! 4       9   g   \        P                  ! V	4      '       d   \        P                  ! V	4      MRR\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;rVR	,           Uu. uF  qR,          NK  	  pp. ROqCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR,          pRqCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR,          pRqCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR,          pRqCVJ qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTR# u upi u upi )aumento_capital_4_titulares	act_classaumento_capitalrd   r$   assert %(py6)srT   Ncountsquotasnifr    nifsrf   zassert %(py5)srg   quota_amountquota_total     LAcapitalcapital_is_resultingTr'   z%(py1)s == %(py4)s)r7   	177483776r<   r>   )z%(py0)s == %(py3)s)fffff@r   9@     ArN   z%(py1)s is %(py4)s)
r   r   r)   r*   r.   r/   r0   r+   r,   r-   )bodyr   r@py_assert0rE   rh   r4   @py_format7qrx   r2   @py_format4rj   s                r   /test_aumento_capital_extrai_os_quatro_titularesr   q   s   23ID$A[>.........>...>............X;x %A%A%%%%% %%% %%%A%%%%%%%%k*keHHkD*GGGGGGGG4GGGGGG4GGGG4GGGGGGGGGGGG'({3{!n{a37aa7aaaaaa3aaa3aaa7aaaaaaaaa](y(y(((((((((((y((((((((Y<$9$9$$$$$<$$$<$$$9$$$$$$$$#$,,,,,,,$,,,$,,,,,,,,,,, +3s   R
1Rc                     \        R 4      w  r\        W4      p\        R VR,           4       4      pVR,          pRqTV8H  qf'       gy   \        P                  ! RV3RWE34      R\        P
                  ! V4      R\        P
                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR	;p;reVR
,          pRqTV8H  qf'       gy   \        P                  ! RV3RWE34      R\        P
                  ! V4      R\        P
                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR	;p;reRqCR
,          qTV9  qf'       gy   \        P                  ! RV3RWE34      R\        P
                  ! V4      R\        P
                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR	;p;reR	# )rq   c              3   D   "   T F  qR ,          R8X  g   K  Vx  K  	  R# 5i)rw   r<   N .0r   s   & r   	<genexpr>Btest_titular_empresa_e_reconhecido_como_empresa.<locals>.<genexpr>   s     J;aE(k2I;    
 rv   kindr=   rd   r$   rt   rT   Nr   rM   Nacionalidader'   r~   not in)z%(py1)s not in %(py4)s)r   r   nextr)   r*   r.   r/   r0   )	r   r   r   crescentimobr   rE   rh   r4   r   s	            r   /test_titular_empresa_e_reconhecido_como_empresar      s'   23ID$AJ1X;JJL,9,9,,,,,,,,,,,9,,,,,,,,E#EE#EEEEEEEEEEEE#EEEEEEEEE6v"66"666666?666?666"666666666r   c                  R   \        R 4      w  r\        W4      p\        R VR,           4       4      pVR,          pRqTV8H  qf'       gy   \        P                  ! RV3RWE34      R\        P
                  ! V4      R\        P
                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR	;p;re. qR
,          pR	qV
J qqK'       g   RqR
,          qV9   qpV'       Eg%   \        P                  ! RV3RWj34      R\        P
                  ! V4      R\        P
                  ! V
4      /,          pRRV/,          qP                  V4       V'       gl   \        P                  ! RX3RXX34      R\        P
                  ! V4      R\        P
                  ! V4      /,          pRRV/,          pV	P                  V4       \        P                  ! V	^4      / ,          pRRV/,          p\        \        P                  ! V4      4      hR	;p;p	;p;p;p
;p;rR	# )rq   c              3   D   "   T F  qR ,          R8X  g   K  Vx  K  	  R# 5irw   r7   Nr   r   s   & r   r   Etest_sufixo_de_nacionalidade_sai_do_nome_da_pessoa.<locals>.<genexpr>        F{!h+.EAA{r   rv   r   zFERNANDO JORGE BARBOSA DA COSTArd   r$   rt   rT   NnacionalidadePortugrf   %(py8)spy8rW   py14%(py16)spy16assert %(py19)spy19r'   r~   rN   )z%(py3)s is %(py6)sin)z%(py11)s in %(py14)s)
r   r   r   r)   r*   r.   r/   r0   append_format_boolop)r   r   r   fernandor   rE   rh   r4   r   r2   rG   ri   @py_assert10@py_assert13@py_assert12@py_format9@py_format15@py_format17@py_format18@py_format20s                       r   2test_sufixo_de_nacionalidade_sai_do_nome_da_pessoar      sA   23ID$AFq{FFHF@@@@@@@@@@@@@@@@@@@@@@@@UO$UU,UUU_<UU<U0UUUUU$UUU$UUUUUUUUUUUU<UUUUUUU<UUUUUUUUUUUUUUUUUUr   c                     \        R 4      w  r\        W4      p\        R VR,           4       4      pVR,          qDP                  pRqe! V4      qw'       g   RR\        P
                  ! V4      R\        P
                  ! V4      R\        P
                  ! V4      R	\        P
                  ! V4      /,          p\        \        P                  ! V4      4      hR
;p;p;rgVR,          pRqV	8H  qU'       gy   \        P                  ! RV3RWI34      R\        P
                  ! V4      R\        P
                  ! V	4      /,          p
RRV
/,          p\        \        P                  ! V4      4      hR
;p;rYVR,          pRqV	8H  qU'       gy   \        P                  ! RV3RWI34      R\        P
                  ! V4      R\        P
                  ! V	4      /,          p
RRV
/,          p\        \        P                  ! V4      4      hR
;p;rYVR,          pRqV	8H  qU'       gy   \        P                  ! RV3RWI34      R\        P
                  ! V4      R\        P
                  ! V	4      /,          p
RRV
/,          p\        \        P                  ! V4      4      hR
;p;rY. qR,          qUqE'       d   RqR,          qV9   qpV'       g   RR\        P
                  ! V4      /,          pVP                  V4       V'       dl   \        P                  ! RX3RXX34      R\        P
                  ! V4      R\        P
                  ! V4      /,          pRRV/,          pVP                  V4       \        P                  ! V^ 4      / ,          pRRV/,          p\        \        P                  ! V4      4      hR
;p;p;p;p;rRqCR,          qV	9   qU'       gy   \        P                  ! RV3R WI34      R\        P
                  ! V4      R\        P
                  ! V	4      /,          p
RRV
/,          p\        \        P                  ! V4      4      hR
;p;rYR
# )!rq   c              3   D   "   T F  qR ,          R8X  g   K  Vx  K  	  R# 5ir   r   r   s   & r   r   Stest_conjuge_e_morada_ficam_disponiveis_para_resolver_identidade.<locals>.<genexpr>   r   r   rv   estado_civilCasadoLassert %(py7)s
{%(py7)s = %(py3)s
{%(py3)s = %(py1)s.startswith
}(%(py5)s)
}rd   rf   rg   r9   Nconjugeu(   Andreia Filipa Batista Balsemão Barbosar$   rt   rT   regime_bensu   Comunhão de adquiridoscodigo_postalr^   address_normzmonsenhor ferreira%(py3)sr;   %(py11)srW   assert %(py14)sr   r'   r~   r   z%(py6)s in %(py9)s)z%(py1)s in %(py4)s)r   r   r   
startswithr)   r.   r/   r0   r*   r   r   )r   r   r   r   r   rh   ri   rF   rH   rE   r4   r   r2   rG   rY   rZ   r   rI   r[   @py_format13r   s                        r   @test_conjuge_e_morada_ficam_disponiveis_para_resolver_identidader      s   23ID$AFq{FFHN#8..8x8.x888888#888.888x88888888888IL"LL"LLLLLLLLLLLL"LLLLLLLLLM"?&??&??????"???"???&?????????O$2
2
22222$222$222
22222222XN#X#(<X@XX@X(XXXXX#XXXX#XXX(<@XXXX(<XXX@XXXXXXXXXXXXXXXXX1.11111111:111:111111111111r   c                     \        R4      w  r\        W4      p\        R VR,           4       4      pVR,          pRqTV8H  qf'       gy   \        P                  ! RV3RWE34      R\        P
                  ! V4      R\        P
                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR
;p;reVR,          pRqTV8H  qf'       gy   \        P                  ! RV3RWE34      R\        P
                  ! V4      R\        P
                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR
;p;reVR,           U	u0 uF  qR,          kK  	  p
p	\        V
4      p^qV8H  q'       g   \        P                  ! RV3RW[34      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P
                  ! \        4      MRR\        P
                  ! V
4      R\        P
                  ! V4      R\        P
                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR
;p
;p;rR
# u up	i )u   O bloco de cada titular acaba no próximo QUOTA. Sem esse limite, um
titular sem NIF apanharia o NIF do titular a seguir — e uma participação
ficaria atribuída à pessoa errada.rq   c              3   Z   "   T F!  pR VR,          ;'       g    R9   g   K  Vx  K#  	  R# 5i)zTOWER VALLEYr   rU   Nr   r   s   & r   r   <test_titular_seguinte_nao_perde_o_seu_nif.<locals>.<genexpr>   s#     OKq>aioo2+NKs   ++
+rv   rw   r>   rd   r$   rt   rT   Nry   r   r    lenr"   r9   r:   r;   r'   r~   rC   )r   r   r   r)   r*   r.   r/   r0   r   r+   r,   r-   )r   r   r   towerr   rE   rh   r4   r   r   r2   rF   rG   rH   rI   s                  r   )test_titular_seguinte_nao_perde_o_seu_nifr      ss    23ID$AOAhKOOE<&;&;&&&&&<&&&<&&&;&&&&&&&& -I-I----- --- ---I--------"#H+.+Q%+4.3./414144444/444444344443444.444/444144444444.s   #I;c                 X
   \        R4      w  r\        W4      pVR,          pRqCV8H  qU'       gy   \        P                  ! R!V3R"W434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR	,          R
,          p^qCV8H  qU'       gy   \        P                  ! R!V3R"W434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR
,           Uu. uF  qR,          NK  	  ppRR.qCV8H  qU'       gy   \        P                  ! R!V3R"W434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR,          pRqCV8H  qU'       gy   \        P                  ! R!V3R"W434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rT. qR,          pRqV
8H  qq;'       d   VR,          pRqVJ qpV'       Eg%   \        P                  ! R!V3R#WZ34      R\        P                  ! V4      R\        P                  ! V
4      /,          pRRV/,          qP                  V4       V'       dl   \        P                  ! R$X3R%XX34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          pV	P                  V4       \        P                  ! V	^ 4      / ,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p	;p;p;p
;p;r\        R VR
,           4       4      pVR,          pRqCV8H  qU'       gy   \        P                  ! R!V3R"W434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR,          pR qCV8H  qU'       gy   \        P                  ! R!V3R"W434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTR# u upi )&u   A redução de capital chama à secção `QUOTA(S) E TITULAR(ES):` em vez de
`SÓCIOS E QUOTAS:`. Reconhecer só a primeira perderia estes actos. reducao_capital_quotas_titularesrr   reducao_capitalrd   r$   rt   rT   Nru   rv   ry   g     X@g     v@rz   g    I@r|   r}   Trf   r   r   rW   r   r   r   r   r   c              3   D   "   T F  qR ,          R8X  g   K  Vx  K  	  R# 5i)rw   	514061944Nr   r   s   & r   r   @test_reducao_capital_usa_quota_s_e_titular_es.<locals>.<genexpr>   s     CKqU8{+BKr   r   r=   paisPortugalr'   r~   z%(py3)s == %(py6)srN   z%(py11)s is %(py14)s)
r   r   r)   r*   r.   r/   r0   r   r   r   )r   r   r   r   rE   rh   r4   r   r   r2   rG   ri   r   r   r   r   r   r   r   r   hubips                        r   -test_reducao_capital_usa_quota_s_e_titular_esr      s    78ID$A[>.........>...>............X;x %A%A%%%%% %%% %%%A%%%%%%%%'({3{!n{J3'7JJ7JJJJJJ3JJJ3JJJ7JJJJJJJJJ]'x'x'''''''''''x''''''''IY<I8I8#II*@(AITIT(IIIII<III<III8IIIIIIIII(ATIII(AIIITIIIIIIIIIIIIIIIICAhKCCE=%I%I%%%%%=%%%=%%%I%%%%%%%%=&J&J&&&&&=&&&=&&&J&&&&&&&& 4s   T'c                 
   \        R4      w  r\        W4      p\        R VR,           4       4      pVR,          qDP                  pRqe! V4      qw'       g   RR\        P
                  ! V4      R\        P
                  ! V4      R	\        P
                  ! V4      R
\        P
                  ! V4      /,          p\        \        P                  ! V4      4      hR;p;p;rgVR,          pRqV	8H  qU'       gy   \        P                  ! RV3RWI34      R\        P
                  ! V4      R\        P
                  ! V	4      /,          p
RRV
/,          p\        \        P                  ! V4      4      hR;p;rYVR,          pRqV	8H  qU'       gy   \        P                  ! RV3RWI34      R\        P
                  ! V4      R\        P
                  ! V	4      /,          p
RRV
/,          p\        \        P                  ! V4      4      hR;p;rYR# )u   Na redução o `Estado civil` vem antes da `Nacionalidade`; no aumento não
há `Nacionalidade` nenhuma. Os campos lêem-se por etiqueta.r   c              3   D   "   T F  qR ,          R8X  g   K  Vx  K  	  R# 5i)rw   	167363816Nr   r   s   & r   r   =test_ordem_dos_campos_no_bloco_nao_importa.<locals>.<genexpr>   s     A+Q5[)@qq+r   rv   r   r   r   rd   rf   rg   r9   Nr   
Portuguesar$   rt   rT   r   u+   João Francisco Cordeiro de Oliveira Barrosr'   r~   )	r   r   r   r   r)   r.   r/   r0   r*   )r   r   r   anar   rh   ri   rF   rH   rE   r4   r   s               r   *test_ordem_dos_campos_no_bloco_nao_importar      s@    78ID$A
A!H+A
AC~3))3(3)(333333333)333(33333333333/</<///////////<////////y>JJJJJJJJJ>JJJ>JJJJJJJJJJJJr   c                 
   \        R4      w  r\        W4      pVR,          pRqCV8H  qU'       gy   \        P                  ! RV3R W434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR	,          R
,          p^qCV8H  qU'       gy   \        P                  ! RV3R W434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR,          ^ ,          pVR,          pRqCV8H  qU'       gy   \        P                  ! RV3R W434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR,          pRqCV8H  qU'       gy   \        P                  ! RV3R W434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR,          pRqCV8H  qU'       gy   \        P                  ! RV3R W434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rT. qR,          qUq5'       d!   RqR,          qP                  q! 4       qV9   qpV'       Eg   RR\        P                  ! V4      /,          qP                  V4       V'       d   \        P                  ! R!X3R"X
X34      R\        P                  ! V
4      R\        P                  ! X4      R\        P                  ! X4      R\        P                  ! V4      /,          pRRV/,          pV	P                  V4       \        P                  ! V	^ 4      / ,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p	;p;p
;p;p;rVR,          pRqCV8H  qU'       gy   \        P                  ! RV3R W434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTR# )#u   O caso que estava a falhar em produção: a linha `NIF/NIPC:` vem com um
espaço à esquerda e o parser antigo exigia-a colada ao fim de linha.designacao_gerenciarr   
designacaord   r$   rt   rT   Nru   peopleofficersrw   	128288604r   u%   MARIA DA CONCEIÇÃO MENDES GUERREIROcargogerenteorganGERr   rf   r;   rW   py13z%(py15)spy15zassert %(py18)spy18r   r8   r'   r~   r   )zH%(py6)s in %(py13)s
{%(py13)s = %(py11)s
{%(py11)s = %(py9)s.upper
}()
})
r   r   r)   r*   r.   r/   r0   upperr   r   )r   r   r   r   rE   rh   r4   r   pr2   rG   rY   r   r   rZ   r   @py_format14@py_format16r   @py_format19s                       r   0test_designacao_extrai_gerente_com_nif_indentador      s    *+ID$A[>)\)\)))))>)))>)))\))))))))X;x %A%A%%%%% %%% %%%A%%%%%%%%	*aAU8"{"{"""""8"""8"""{""""""""V9?????????9???9????????????W:""""""":""":"""""""""""5W:5:%5W:5#3#35#3#55#555555:5555:555%#5555%555:555#3555#55555555555555555V9       9   9           r   c                     \        R 4      w  r\        W4      pVR,          pRqCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR,          ^ ,          pVR	,          pR
qCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR,          pRqCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR,          pRqCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR,          pRqCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTR# )cessacao_gerenciarr   cessacaord   r$   rt   rT   Nr   rw   	198394632r   r   causau	   Renúnciadataz
2026/05/15r'   r~   r   r   r)   r*   r.   r/   r0   )	r   r   r   r   rE   rh   r4   r   r   s	            r   test_cessacao_traz_causa_e_datar      s   ()ID$A[>'Z'Z'''''>'''>'''Z''''''''	*aAU8"{"{"""""8"""8"""{""""""""W:""""""":""":"""""""""""W:$$$$$$$:$$$:$$$$$$$$$$$V9$$$$$$$9$$$9$$$$$$$$$$$r   c            	     L   \        R4      w  r\        W4      pVR,          pRqCV8H  qU'       gy   \        P                  ! R$V3R%W434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rT. qR	,          R
,          p^qV	8H  qq:'       d   VR	,          R,          p^qV8H  qpV'       Eg%   \        P                  ! R$V
3R&WY34      R\        P                  ! V4      R\        P                  ! V	4      /,          pRRV/,          qP                  V4       V
'       dl   \        P                  ! R$X3R'XX34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          pVP                  V4       \        P                  ! V^ 4      / ,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;p
;p	;p;rVR
,          ^ ,          pVR,          ^ ,          pVR,          pVR,          qV
8H  pRpV
V8H  qE'       d	   V'       g   \        P                  ! R(WT3R)W:V34      R\        P                  ! V4      R\        P                  ! V
4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;p
pVR,          pRqCV8H  qU'       gy   \        P                  ! R$V3R%W434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR,          pRqCV8H  qU'       gy   \        P                  ! R$V3R%W434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rT. qR ,          pRqV	8H  qq:'       d   VR!,          pR"qVJ qpV'       Eg$   \        P                  ! R$V
3R&WY34      R\        P                  ! V4      R\        P                  ! V	4      /,          pRRV/,          qP                  V4       V
'       dk   \        P                  ! R*V3R+W34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          pVP                  V4       \        P                  ! V^ 4      / ,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;p
;p	;p;rVR#,          q2R ,          qCV8H  qU'       gy   \        P                  ! R$V3R%W434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTR# ),u   A dualidade que o índice `(publication_id, person_nif)` do
`publication_people` destruía: numa constituição o fundador é sócio e
gerente, e são dois factos distintos.constituicao_socio_gerenterr   constituicaord   r$   rt   rT   Nru   rv   r   rf   r   r   rW   r   r   r   r   r   r   rw   	317448447rg   r9   r:   r;   ry        @@r   u   sócio-gerenter|   r}   Frz   r'   r~   r   z%(py11)s == %(py14)s)r   r   )z%(py1)s == %(py5)sz%(py5)s == %(py7)srN   r   	r   r   r)   r*   r.   r/   r0   r   r   )r   r   r   r   rE   rh   r4   r   r2   rG   ri   r   r   r   r   r   r   r   r   titularr   rF   rH   rI   s                           r   :test_constituicao_da_a_mesma_pessoa_como_titular_e_gerenter     ss    12ID$A[>+^+^+++++>+++>+++^++++++++DX;x DADA%DD!H+h*?D1D1*DDDDD DDD DDDADDDDDDDDD*?1DDD*?DDD1DDDDDDDDDDDDDDDDk!nG
mAG5>:WU^:^::{:^{::::::>{:::>:::^:::{::::::::>"-g-g-----"---"---g--------7////////////////////////IY<I7I7"IIq)?'@IEIE'IIIII<III<III7IIIIIIIII'@III'@IIIEIIIIIIIIIIIIIIII]+|+|+++++++++++|++++++++r   c                     \        R 4      w  r\        W4      pVR,          pVR,          pRqTV8H  qf'       gy   \        P                  ! RV3RWE34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;reVR	,          pR
qTV8H  qf'       gy   \        P                  ! RV3RWE34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;reVR,          pRqTV8H  qf'       gy   \        P                  ! RV3RWE34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;reVR,          pRqTV8H  qf'       gy   \        P                  ! RV3RWE34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;re. qR,          qfqF'       d   RqR,          qV9   qpV'       g   RR\        P                  ! V4      /,          qP                  V4       V'       dk   \        P                  ! RX3RX
X34      R\        P                  ! V
4      R\        P                  ! V4      /,          pRRV/,          qP                  V4       \        P                  ! V	^ 4      / ,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p	;p;p
;rR# )r   headernipc	519522842rd   r$   rt   rT   Nfirmau    VÁRZEA MARAVILHA UNIPESSOAL LDAconcelhoOdivelasr   z1685-457objeto_socialu   armações de ferror   rf   r;   r   rW   r   r   r'   r~   r   r   r  )r   r   r   hr   rE   rh   r4   r   r2   rG   rY   rZ   r   rI   r[   r   r   s                     r   2test_constituicao_preenche_o_cabecalho_da_entidader     s   12ID$A	(AV9#######9###9###########W:;;;;;;;;;:;;;:;;;;;;;;;;;;Z=&J&J&&&&&=&&&=&&&J&&&&&&&&_+++++++++++++++++++++M_M"7M_;MM;M"MMMMMMMMMMMM"7;MMMM"7MMM;MMMMMMMMMMMMMMMMMr   c                 "   \        R4      w  r\        W4      pVR,          pRqCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR	,          R
,          p^ qCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR
,          p. qCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR,          pRqCVJ qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR,          pRqCVJ qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR,          pRqCVJ qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTR# )u   Uma alteração ao contrato que só mudou a sede não tem cap table. Tem de
devolver `quotas: 0`, e é `parse_quotas > 0` que decide se um acto pode
substituir a estrutura societária — senão apagava os sócios da empresa.alteracao_sem_captablerr   alteracao_contratord   r$   rt   rT   Nru   rv   rz   captable_completeFcaptable_linkabler'   r~   rN   r   r   )r   r   r   r   rE   rh   r4   r   s           r   8test_alteracao_sem_titulares_nao_produz_fotografia_vaziar    s    -.ID$A[>111111111>111>111111111111X;x %A%A%%%%% %%% %%%A%%%%%%%%X;"";;"]#t#t###########t######## !*U*U*****!***!***U******** !*U*U*****!***!***U********r   c                      R	 EFv  p \        V 4      w  r\        W4      pVR,          pRqTVJ qf'       g   \        P                  ! R
V3RWE34      R\        P                  ! V4      R\        P                  ! V4      /,          p\        P
                  ! V 4      R,           RV/,          p\        \        P                  ! V4      4      hR;p;reVR,          pRqTVJ qf'       g   \        P                  ! R
V3RWE34      R\        P                  ! V4      R\        P                  ! V4      /,          p\        P
                  ! V 4      R,           RV/,          p\        \        P                  ! V4      4      hR;p;reEKy  	  R# )rq   r  Trd   r$   
>assert %(py6)srT   Nr  rq   r   r   rN   r   r   r   r)   r*   r.   ra   r/   r0   	r   r   r   r   r   rE   rh   r4   r   s	            r   7test_captable_completa_quando_a_soma_bate_com_o_capitalr    s    /J	d $%33-3333%333%3333333t33333333$%33-3333%333%3333333t33333333/r   c                    Rp \        V R4      pVR,          pRq2V8H  qD'       gy   \        P                  ! RV3RW#34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\	        \        P
                  ! V4      4      hR	;p;rCVR
,          pRq2V8H  qD'       gy   \        P                  ! RV3RW#34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\	        \        P
                  ! V4      4      hR	;p;rCVR,          pRq2VJ qD'       gy   \        P                  ! RV3RW#34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\	        \        P
                  ! V4      4      hR	;p;rCVR,          pRq2VJ qD'       gy   \        P                  ! RV3RW#34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\	        \        P
                  ! V4      4      hR	;p;rCR	# )u   Quando o acto lista só as quotas que mexeram, a soma não bate com o
capital. Medido no corpus: acontece em 8 de 171. Apresentar uma parte como se
fosse o todo é o erro a evitar.u   UTC - AUMENTO DO CAPITAL
Capital após o aumento : 300.000,00 Euros
SÓCIOS E QUOTAS:
 QUOTA : 115.000,00 Euros 
 TITULAR: MARISA FERNANDES VIEIRA PINHEIRO 
 NIF/NIPC: 215165195
Aumento do capitalrz   g    @rd   r$   rt   rT   Nr|   g    OAr  Fr  Tr'   r~   rN   r   r   r)   r*   r.   r/   r0   r   r   r   rE   rh   r4   r   s          r   )test_captable_parcial_nao_se_diz_completar    sf   
	! 	 	$,-A](y(y(((((((((((y((((((((Y<$9$9$$$$$<$$$<$$$9$$$$$$$$ !*U*U*****!***!***U******** !)T)T)))))!)))!)))T))))))))r   c                    Rp \        V R4      pVR,          R,          p^q2V8H  qD'       gy   \        P                  ! RV3RW#34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\	        \        P
                  ! V4      4      hR	;p;rCVR,          ^ ,          R
,          pR	q2VJ qD'       gy   \        P                  ! RV3RW#34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\	        \        P
                  ! V4      4      hR	;p;rCVR,          ^ ,          R,          pRq2V8H  qD'       gy   \        P                  ! RV3RW#34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\	        \        P
                  ! V4      4      hR	;p;rCVR,          pRq2VJ qD'       gy   \        P                  ! RV3RW#34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\	        \        P
                  ! V4      4      hR	;p;rCR	# )u   As publicações importadas pela extensão em 2006 não têm blocos
`NIF/NIPC:`. O nome e a quota valem para a ficha da empresa, mas um nó só com
nome não se segue no grafo sem inventar uma identidade.u   Insc. 9- 01/20061006 - AUMENTO DE CAPITAL
SÓCIOS E QUOTAS:
 QUOTA : 600.000,00 euros. Titular: António Fernando Couto de Sousa.
 TITULAR: António Fernando Couto de Sousa.
zAumento de capitalru   rv   rd   r$   rt   rT   Nrw   r   r@   r  Fr'   r~   rN   r   r  r  s          r   ,test_captable_de_2006_em_prosa_nao_e_ligavelr   /  s|   
	8 	 	$,-AX;x %A%A%%%%% %%% %%%A%%%%%%%%X;q>% (D(D((((( ((( (((D((((((((X;q>&!.Y.Y.....!...!...Y........ !*U*U*****!***!***U********r   c                     ^ RI Hp  Rp\        V ! V4      R4      pVR,          R,          p^qCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P
                  ! V4      R\        P
                  ! V4      /,          pR	R
V/,          p\        \        P                  ! V4      4      hR;p;rTVR,          ^ ,          pVR,          pRqCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P
                  ! V4      R\        P
                  ! V4      /,          pR	R
V/,          p\        \        P                  ! V4      4      hR;p;rTRp. qR,          qqJ'       g   RqpW49  qU'       g   RR
\        P
                  ! V
4      /,          qyP                  V4       V
'       g0   RR\        P
                  ! X4      /,          qP                  V4       \        P                  ! V	^4      / ,          p\        P                  ! RV3RW434      R\        P
                  ! V4      RV/,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;p	;rVR,          pRqCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P
                  ! V4      R\        P
                  ! V4      /,          pR	R
V/,          p\        \        P                  ! V4      4      hR;p;rTR# )    )html_to_textu~   <p>SÓCIOS E QUOTAS:</p><p> QUOTA : 2.280,00 Euros </p><p> TITULAR: MANUEL MARTINS GUERREIRO </p><p> NIF/NIPC: 215165195</p>r  ru   rv   rd   r$   rU   rt   rT   Nr   zMANUEL MARTINS GUERREIROz%(py6)sz%(py9)sr;   py12r   r   ry   g     С@r'   r~   r   )z%(py1)s not in (%(py12)s))
"app.services.mj_company_enrichmentr#  r   r)   r*   r.   r/   r0   r   r   )r#  htmlr   r   rE   rh   r4   r   r   ri   rG   rY   rI   @py_format11r   r   s                   r   :test_carriage_return_nao_entra_nos_nomes_nem_nos_montantesr)  @  s   ? ND,t$&:;AX;x %A%A%%%%% %%% %%%A%%%%%%%%	(AAV922222222292229222222222222(&	(	R(4(((((	((((	(((R((((((((((4(((4(((((((((^'''''''''''''''''''''r   c                     \        R 4      w  r\        W4      pVR,          pRqCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rT\        R VR	,           4       4      pVR
,          pRqCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR,          pRqCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTR# )dissolucao_depositariorr   
dissolucaord   r$   rt   rT   Nc              3   D   "   T F  qR ,          R8X  g   K  Vx  K  	  R# 5i)r   u   depositárioNr   )r   r   s   & r   r   7test_dissolucao_apanha_o_depositario.<locals>.<genexpr>P  s     H-QW:+Gqq-r   r   rw   	204620392r   u    BRUNO SILVESTRE GONÇALVES PERESr'   r~   )r   r   r)   r*   r.   r/   r0   r   )	r   r   r   r   rE   rh   r4   r   deps	            r   $test_dissolucao_apanha_o_depositarior1  L  s    -.ID$A[>)\)\)))))>)))>)))\))))))))
H!J-H
HCu:$$$$$$$:$$$:$$$$$$$$$$$v;<<<<<<<<<;<<<;<<<<<<<<<<<<r   c                  N   R EF  p \        V 4      pVR,          pR^ R^ R^ /q2V8H  qD'       gy   \        P                  ! RV3RW#34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\	        \        P
                  ! V4      4      hR ;p;rC. qqR,          p. qV8H  qq)'       d   VR	,          p
. qV8H  qpV'       Eg$   \        P                  ! RV	3RWH34      R
\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          qP                  V4       V	'       dk   \        P                  ! RX3RX
X34      R\        P                  ! V
4      R\        P                  ! V4      /,          pRRV/,          qP                  V4       \        P                  ! V^ 4      / ,          pRRV/,          p\	        \        P
                  ! V4      4      hR ;p;p;p;p	;p;p
;rVR,          pRq2VJ qD'       gy   \        P                  ! RV3RW#34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\	        \        P
                  ! V4      4      hR ;p;rCEK  	  R # )Nru   rv   r   orphansrd   r$   rt   rT   r   rf   r   r   rW   r   r   r   r   r   captable_eligibleF)NrU   z   
  r'   r~   r   r   rN   r   )r   r)   r*   r.   r/   r0   r   r   )r!   r   r   rE   rh   r4   r   r2   rG   ri   r   r   r   r   r   r   r   r   s                     r   test_corpo_vazio_nao_estourar5  U  s   &e{FxHaAFFFFFFFF{FFF{FFFFFFFFFFFF8{8b8b 88Qz]8b8b%88888{888{888b888888888]b888]888b8888888888888888$%.......%...%...........	 'r   c                    Rp \        V R4      pVR,          R,          p^q2V8H  qD'       gy   \        P                  ! RV3RW#34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\	        \        P
                  ! V4      4      hR	;p;rCVR,          R
,          p^q2V8H  qD'       gy   \        P                  ! RV3RW#34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\	        \        P
                  ! V4      4      hR	;p;rCVR,          pRq2V8H  qD'       gy   \        P                  ! RV3RW#34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\	        \        P
                  ! V4      4      hR	;p;rCVR,          pRq2VJ qD'       gy   \        P                  ! RV3RW#34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\	        \        P
                  ! V4      4      hR	;p;rCVR,          pRq2VJ qD'       gy   \        P                  ! RV3RW#34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\	        \        P
                  ! V4      4      hR	;p;rCR	# )u   O caso real do `510036899`: a fonte lista três quotas e só nomeia duas.
O acto não pode substituir a estrutura conhecida, senão a empresa perdia o
maior sócio — 213.684,21 em três titulares passava a 10.685,21 em dois.u  UTC - ALTERAÇÕES AO CONTRATO DE SOCIEDADE(ONLINE)
SÓCIOS E QUOTAS:

 QUOTA : 202.999,00 Euros 

 QUOTA : 10.684,21 Euros 
 
 TITULAR: GESTION ENERGETICA DE LA BIOMASA, SOCIEDAD LIMITADA 
 NIF/NIPC: 980498643
 QUOTA : 1,00 
 
 TITULAR: PRIMITIVO MALAGA GONZALEZ 
 NIF/NIPC: 277219035
-   Alterações ao contrato de sociedade(online)ru   rv   rd   r$   rt   rT   Nr3  rz   gz
Ar4  Fr  Tr'   r~   rN   r   r  r  s          r   6test_quota_sem_titular_invalida_o_acto_como_fotografiar8  _  s   
	! 	 	$GHAX;x %A%A%%%%% %%% %%%A%%%%%%%%X;y!&Q&Q&&&&&!&&&!&&&Q&&&&&&&&](y(y(((((((((((y(((((((( !*U*U*****!***!***U******** !)T)T)))))!)))!)))T))))))))r   c                     R
 EF~  p \        V 4      w  r\        W4      pVR,          R,          p^ qTV8H  qf'       g   \        P                  ! RV3RWE34      R\        P                  ! V4      R\        P                  ! V4      /,          p\        P
                  ! V 4      R,           RV/,          p\        \        P                  ! V4      4      hR;p;reVR,          pR	qTVJ qf'       g   \        P                  ! RV3RWE34      R\        P                  ! V4      R\        P                  ! V4      /,          p\        P
                  ! V 4      R,           RV/,          p\        \        P                  ! V4      4      hR;p;reEK  	  R# )rq   ru   r3  rd   r$   r  rT   Nr4  Tr  r'   r~   rN   r   r  r  s	            r   "test_captable_sem_orfas_e_elegivelr:  {  s    /J	d {9%00*0000%000%0000000D00000000$%33-3333%333%3333333t33333333/r   c                     \          EF  p \        V 4      w  r\        W4      pVR ,          pRqTV8g  qf'       gy   \        P                  ! RV3RWE34      R\        P
                  ! V4      R\        P
                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;reVR,          R,          p	\        V	\        4      q'       Eg   R	R
R\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P
                  ! \        4      MRR\        P
                  ! V	4      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P
                  ! \        4      MRR\        P
                  ! V
4      /,          p\        \        P                  ! V4      4      hR;rEK  	  R# )rr   rU   rd   r$   rt   rT   Nru   rv   z5assert %(py5)s
{%(py5)s = %(py0)s(%(py2)s, %(py3)s)
}r    
isinstancer"   rf   intrg   )!=)z%(py1)s != %(py4)s)r   r   r   r)   r*   r.   r/   r0   r<  r=  r+   r,   r-   )r   r   r   r   r   rE   rh   r4   r   r2   ri   rj   s               r   +test_todas_as_fixtures_parseiam_sem_excecaor?    s   J	d ~#######~###~###########H+h/5z/555555555z5555z555/555555555555555555555	 r   )	)z26.289,60 Eurosr   EUR)z1.000,00 Eurosr   r@  )z107.420,80 Eurosr   r@  )z15250.00 Eurosg     @r@  )z480.000,00 Eurosr{   r@  )z5.000.000,00 Escudosg    SAPTE)z1.000r   N)NNN)rU   NN)	)uP   Constituição de sociedade, designação de membro(s) de órgão(s) social(ais)r   )r7  r  )rn   rs   )u<   Redução do capital e Alterações ao contrato de sociedader   )u2   Designação de membro(s) de orgão(s) social(ais)r   )u@   Cessação de funções de membro(s) do(s) orgão(s) social(ais)r   )u+   Dissolução e encerramento da liquidaçãor,  )rm   prestacao_contas)u   Convocatóriaoutro)9__doc__builtinsr+   _pytest.assertion.rewrite	assertionrewriter)   jsonpathlibpytest app.services.registry_act_parserr   r   r   r   r   r   r   r   Path__file__parentr   loadsr   r   r   markparametrizer5   rJ   rQ   r\   rb   rk   ro   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r)  r1  r5  r8  r:  r?  r   r   r   <module>rS     sJ      	 	 	 <<!((:5
B

H|+666HIV 0 3 1'(1 ) 
, 
+
+?-7V
2	5'K!%,$N+ 4*&+"	(=/*846r   