
    /h
                     B    S SK r S SKJr   " S S\ R                  5      rg)    N)AnnotationTaskc                   6    \ rS rSrSrS rS rS rS rS r	Sr
g	)
TestDisagreement   zF
Class containing unit tests for nltk.metrics.agreement.Disagreement.
c                 b    / SQn[        U5      nU R                  UR                  5       S5        g)ze
Simple test, based on
https://github.com/foolswood/krippendorffs_alpha/raw/master/krippendorff.pdf.
)coder1dress1YEScoder2r
   NOcoder3r
   r   r	   dress2r   r   r   r   )r   dress3r   燼1UUտNr   assertAlmostEqualalphaselfdataannotation_tasks      X/var/www/auris/envauris/lib/python3.13/site-packages/nltk/test/unit/test_disagreement.py	test_easyTestDisagreement.test_easy   s.    

 ).446
C    c                 b    / SQn[        U5      nU R                  UR                  5       S5        g)z|
Same simple test with 1 rating removed.
Removal of that rating should not matter: K-Apha ignores items with
only 1 rating.
)r   r   r   r   r   r   Nr   r   s      r   
test_easy2TestDisagreement.test_easy2   s.    
 ).446
Cr    c                     / SQn[        U5      nU R                  UR                  5       S5        / SQn[        U5      nU R                  UR                  5       S5        g)z4
If expected disagreement is 0, K-Apha should be 1.
)r	   1   r   r&   r'   r	   2   )r   r*   r+   g      ?)r%   r(   r)   Nr   r   s      r   
test_easy3TestDisagreement.test_easy3+   sV    
 ).446<K(.446<r    c                 b    / SQn[        U5      nU R                  UR                  5       S5        g)z_
More advanced test, based on
http://www.agreestat.com/research_papers/onkrippendorffalpha.pdf
))Ar&   r&   )Br&   r&   )Dr&   r&   )r0   r*   r*   )r1   r*   r*   )Cr*   3)r2   r*   r*   )r0   r4   r4   )r1   r4   r4   )r3   r4   r4   )r2   r4   r4   )r0   4r4   )r1   r5   r4   )r3   r5   r4   )r2   r5   r4   )r0   5r*   )r1   r6   r*   )r3   r6   r*   )r2   r6   r*   )r0   6r&   )r1   r7   r*   )r3   r7   r4   )r2   r7   r5   )r0   7r5   )r1   r8   r5   )r3   r8   r5   )r2   r8   r5   )r0   8r&   )r1   r9   r&   )r3   r9   r*   )r2   r9   r&   )r0   9r*   )r1   r:   r*   )r3   r:   r*   )r2   r:   r*   )r1   10r6   )r3   r;   r6   )r2   r;   r6   )r3   11r&   )r2   r<   r&   )r3   12r4   rˆ?Nr   r   s      r   test_advancedTestDisagreement.test_advanced<   /    
*
V ).446Gr    c                 b    / SQn[        U5      nU R                  UR                  5       S5        g)zk
Same more advanced example, but with 1 rating removed.
Again, removal of that 1 rating should not matter.
r/   r>   Nr   r   s      r   test_advanced2TestDisagreement.test_advanced2o   rA   r     N)__name__
__module____qualname____firstlineno____doc__r   r"   r,   r?   rC   __static_attributes__rE   r    r   r   r      s%    D D ="1Hf1Hr    r   )unittestnltk.metrics.agreementr   TestCaser   rE   r    r   <module>rO      s!     1ZHx(( ZHr    