
    <iU                        S SK r S SKJr  S SKJr  \ R
                  R                  SS\" 5       4S\" S/5      4S\" S	/5      4S
\" S/5      4S\" S/5      4S\" SS/5      4S\" / SQ5      4/5      S 5       r\ R
                  R                  SS\" 5       4S\" S/5      4S\" S/5      4S\" S/5      4S\" SS/5      4S\" SS/5      4/5      S 5       r	\ R
                  R                  SSSS /S!S"4/04S#SS /S!S"4S$/S!S%4/04S&S /S'S"4/S/S(S)4/S*.4S+SS /S!S"4S$/S,S-4/04S.S /S!S"4/S/S/S04/S /S1S24S3/S4S54/S6.4S7S8S9S:\S;S</S=S>4/04/5      S? 5       r
g)@    N)
INDEX_STAR)Patternzpattern,expected_qualifiersz[foo:bar = 1]z[foo:bar = 1] REPEATS 5 TIMESzREPEATS 5 TIMESz![foo:bar = 1] WITHIN 10.3 SECONDSzWITHIN 10.3 SECONDSz [foo:bar = 1] WITHIN 123 SECONDSzWITHIN 123 SECONDSzH[foo:bar = 1] START t'1932-11-12T15:42:15Z' STOP t'1964-10-23T21:12:26Z':START t'1932-11-12T15:42:15Z' STOP t'1964-10-23T21:12:26Z'zC[foo:bar = 1] REPEATS 1 TIMES AND [foo:baz = 2] WITHIN 1.23 SECONDSzREPEATS 1 TIMESzWITHIN 1.23 SECONDSz([foo:bar = 1] START t'1932-11-12T15:42:15Z' STOP t'1964-10-23T21:12:26Z' AND [foo:abc < h'12ab']) WITHIN 22 SECONDS OR [frob:baz NOT IN (1,2,3)] REPEATS 31 TIMES)r   zWITHIN 22 SECONDSzREPEATS 31 TIMESc                 ^    [        U 5      nUR                  5       nUR                  U:X  d   eg N)r   inspect
qualifiers)patternexpected_qualifierscompiled_patternpattern_datas       _/home/james-whalen/.local/lib/python3.13/site-packages/stix2patterns/test/v21/test_inspector.pytest_qualifiersr      s2     w'#++-L""&9999    zpattern,expected_obs_opsz"[foo:bar = 1] AND [foo:baz > 25.2]ANDz%[foo:bar = 1] OR [foo:baz != 'hello']ORz-[foo:bar = 1] FOLLOWEDBY [foo:baz IN (1,2,3)]
FOLLOWEDBYz5[foo:bar = 1] AND [foo:baz = 22] OR [foo:abc = '123']zY[foo:bar = 1] OR ([foo:baz = false] FOLLOWEDBY [frob:abc LIKE '123']) WITHIN 46.1 SECONDSc                 ^    [        U 5      nUR                  5       nUR                  U:X  d   eg r   )r   r   observation_ops)r
   expected_obs_opsr   r   s       r   test_observation_opsr      s2     w'#++-L''+;;;;r   zpattern,expected_comparisonsfoobar=1z[foo:bar=1 AND foo:baz=2]baz2z![foo:bar NOT !=1 OR bar:foo<12.3]zNOT !=<z12.3)r   r   z*[foo:bar=1] OR [foo:baz MATCHES '123\\d+']MATCHESz	'123\\d+'zw[foo:bar=1 AND bar:foo NOT >33] REPEATS 12 TIMES OR   ([baz:bar ISSUBSET '1234'] FOLLOWEDBY [baz:quux NOT LIKE 'a_cd'])zNOT >33ISSUBSETz'1234'quuxzNOT LIKEz'a_cd')r   r   r   z6[obj-type:a.b[*][1].'c-d' NOT ISSUPERSET '1.2.3.4/16']zobj-typeab   zc-dzNOT ISSUPERSETz'1.2.3.4/16'c                 ^    [        U 5      nUR                  5       nUR                  U:X  d   eg r   )r   r   comparisons)r
   expected_comparisonsr   r   s       r   test_comparisonsr)   ,   s2    , w'#++-L##';;;;r   )pyteststix2patterns.inspectorr   stix2patterns.v21.patternr   markparametrizesetr   r   r)    r   r   <module>r1      st    . - 7su%s,>+?'@A)30F/G+HI(#/D.E*FGPJKLNK!789;6 7 	89: :: 4su*CM:-sE7|<5sM?7KL=sFE??STaUM"#%7 << 86(D$!7 89:!Fvhd-CvhPTVZE[,\#]^)(It,-(D'*+,  56(D$'6(J)OP7 L 8T4()8Xu-.8[)4y+y6YZ ?dJ6:<M_`A #; *<+*<r   