modernize tests

also remove leftover tests that don't pass with EACH_FILLS
This commit is contained in:
dzaima 2025-05-30 00:57:52 +03:00
parent c0cb1a9f77
commit 5c2ac27410
4 changed files with 24 additions and 26 deletions

View File

@ -1,3 +1,5 @@
%DEF eqvar _eqvar•args
# some checks for behavior around ¯0; not strictly necessary to stay, but other tests will probably become meaningless without these! # some checks for behavior around ¯0; not strictly necessary to stay, but other tests will probably become meaningless without these!
1641•bit._cast ˘ •ParseFloat¨ "1.2""-0" %% 631/01 1641•bit._cast ˘ •ParseFloat¨ "1.2""-0" %% 631/01
! (40) ( (641•bit._cast)) 1¯1×π40 ! (40) ( (641•bit._cast)) 1¯1×π40
@ -33,7 +35,9 @@ a←(•ParseFloat¨ "1.2"‿"-0"‿"0")∾-⊸⋈0÷0 ⋄ ! (0‿3‿3‿3⊏a)
(32767"abc")100"ababacadabacaba" %% (1000101020327670102010) (32767"abc")100"ababacadabacaba" %% (1000101020327670102010)
(32768"abc")100"ababacadabacaba" %% (1000101020327680102010) (32768"abc")100"ababacadabacaba" %% (1000101020327680102010)
•internal.Variation(1)¨ "Ab""Ai8" %% 0 •internal.Variation(1)¨ "Ab""Ai8" %% 0
!¨ 0•Hash¨ 5 10.55 1'h'5 %USE eqvar 0•Hash _eqvar 5
%USE eqvar 0•Hash _eqvar "hello"
%USE eqvar 0•Hash _eqvar 10
{b•internal.Unshare a"Ai8"•internal.Variation 160000000¯128, 80, 82 c864•bit._cast a ! 1001c •internal.Keep •Hash c ! ab} # make sure sign bit doesn't mutate away {b•internal.Unshare a"Ai8"•internal.Variation 160000000¯128, 80, 82 c864•bit._cast a ! 1001c •internal.Keep •Hash c ! ab} # make sure sign bit doesn't mutate away

View File

@ -4,6 +4,7 @@
%DEF eqvarv _eqvarv_•args %DEF eqvarv _eqvarv_•args
%DEF evar %USE tvar _evar {ok{} r𝕨 ok𝔽{𝕊: •CurrentError@} _tvar 𝕩 {okr? !"TEST FAIL: variation didn't error"; ("TEST FAIL: varying error messages" ! 1=)r (r)!0}} %DEF evar %USE tvar _evar {ok{} r𝕨 ok𝔽{𝕊: •CurrentError@} _tvar 𝕩 {okr? !"TEST FAIL: variation didn't error"; ("TEST FAIL: varying error messages" ! 1=)r (r)!0}}
%DEF eqerr %USE eqvar _eqerr {ok{} r𝕨 ok𝔽{𝕊: •CurrentError@} 𝕩 {okr? !"TEST FAIL: case didn't error"; ("TEST FAIL: varying error messages" ! 1=)r (r)!0}} %DEF eqerr %USE eqvar _eqerr {ok{} r𝕨 ok𝔽{𝕊: •CurrentError@} 𝕩 {okr? !"TEST FAIL: case didn't error"; ("TEST FAIL: varying error messages" ! 1=)r (r)!0}}
%DEF eqall _eqall0 {r𝕩 ("TEST FAIL: eqall failed" ! r𝔽)¨ 𝕩 r} EqAll •internal.Indistinguishable _eqall0
%DEF k _k {𝔽•internal.Keep} %DEF k _k {𝔽•internal.Keep}
# batch checks # batch checks
@ -225,10 +226,10 @@ a←↕2 ⋄ ! "e" ≡ (↕10){b←a‿a‿a‿a‿a‿a‿a‿a‿a‿a ⋄
{a3 !'e'>'e' a, a, 2, a, a ! 1•internal.Refc a} {a3 !'e'>'e' a, a, 2, a, a ! 1•internal.Refc a}
{a3 > a, a, 3, a, a ! 1•internal.Refc a} {a3 > a, a, 3, a, a ! 1•internal.Refc a}
{a(2001)3 ! 'e'>'e' (2001)a, a, 2, a, a ! 1•internal.Refc a} {a(2001)3 ! 'e'>'e' (2001)a, a, 2, a, a ! 1•internal.Refc a}
%USE var a236 b23"abcdef" !¨ (LV a) {>1211𝕨𝕩V¨ab} LV b %USE eqvar a236 b23"abcdef" a {>1211𝕨𝕩}_eqvar b %% 121123012345'a''b''c''d''e''f'
%USE var ab23<<˘"abcd" !¨ (LV a) {>1211𝕨𝕩V¨ab} LV b %USE eqvar ab23<<˘"abcd" a {>1211𝕨𝕩}_eqvar b %% 121123<<¨"abcd"
%USE var {ab: ! ´(¨) (LV a) {>1211𝕨𝕩V¨ab} LV b}¨ 2<23<<˘"abcd" 236,23"abcdef" %USE eqvar {>1211𝕨𝕩}_eqvar´¨ 2<23<<˘"abcd" 236,23"abcdef" %% 121123<<¨"abcd", 121123012345'a''b''c''d''e''f'
%USE var {ab: ! ´(¨) (LV a) {𝕨𝕩V¨ab} LV b}¨ 2<23<<˘"abcd" 236,23"abcdef" %USE eqvar {𝕨𝕩}_eqvar´¨ 2<23<<˘"abcd" 236,23"abcdef" %% 43<<¨"abcd", 43012345'a''b''c''d''e''f'
# <𝕩 # <𝕩
! <¨ - (¯2+5)+240 ! <¨ - (¯2+5)+240
@ -297,9 +298,9 @@ a←↕2 ⋄ ! "e" ≡ (↕10){b←a‿a‿a‿a‿a‿a‿a‿a‿a‿a ⋄
!"»𝕩: 𝕩 cannot be a scalar" % »<0 !"»𝕩: 𝕩 cannot be a scalar" % »<0
# ⍉𝕩 # ⍉𝕩
%USE var !¨ { 𝕩 V a}¨ LV a234•rand.Range 2 %USE eqvar _eqvar 234•rand.Range 2
%USE var !¨ { 𝕩 V a}¨ LV a¨ 234•rand.Range 2 %USE eqvar _eqvar ¨ 234•rand.Range 2
%USE var !¨ { 𝕩 V a}¨ LV a@+234•rand.Range 100 %USE eqvar _eqvar @+234•rand.Range 100
# ⌽𝕩 # ⌽𝕩
%USE var {{! 𝕩 "Ai8"V𝕩} 𝕩•rand.Range 2}¨ 1000 %USE var {{! 𝕩 "Ai8"V𝕩} 𝕩•rand.Range 2}¨ 1000
@ -335,14 +336,10 @@ b←1↓1∾a←"hello" ⋄ b ⌽⎊'e' ⥊⟜1⍟2 5 ⋄ a ≡○•Hash b %% 1
•Hash¨ 10000•internal.Squeeze 1e9˜10000, 10000 %% 1 •Hash¨ 10000•internal.Squeeze 1e9˜10000, 10000 %% 1
# ¨ # ¨
1 {𝕊:12}¨ 1 %% <12 %USE eqall Eqall {𝕊: 12}¨˜ 1, <1 %% <12
1 {𝕊:12}¨<1 %% <12 %USE eqall Eqall 12¨˜ 1, <1 %% <12
(<1){𝕊:12}¨ 1 %% <12 %USE eqall Eqall 12˙,12 {𝕨¨˜ 𝕩} 5, "hello", 5 %% 5<12
(<1){𝕊:12}¨<1 %% <12 %USE eqall Eqall {𝕊:12} {𝕨¨˜ 𝕩} 5, "hello", 5 %% 5<12
1 12¨ 1 %% <12
1 12¨<1 %% <12
(<1)12¨ 1 %% <12
(<1)12¨<1 %% <12
!"Mapping: Expected equal shape prefix (⟨2⟩ ≡ ≢𝕨, 4‿4 ≡ ≢𝕩)" % 12+¨44 !"Mapping: Expected equal shape prefix (⟨2⟩ ≡ ≢𝕨, 4‿4 ≡ ≢𝕩)" % 12+¨44
!"Mapping: Expected equal shape prefix (⟨2⟩ ≡ ≢𝕨, ⟨4⟩ ≡ ≢𝕩)" % 12+¨4 !"Mapping: Expected equal shape prefix (⟨2⟩ ≡ ≢𝕨, ⟨4⟩ ≡ ≢𝕩)" % 12+¨4
¨ {a𝕩 𝕩} 23<"a" %% 6<"a" ¨ {a𝕩 𝕩} 23<"a" %% 6<"a"

View File

@ -9,8 +9,8 @@
# standard system values # standard system values
# •BQN # •BQN
%USE tvar !" "¨ •BQN _tvar "1↑""""" %USE eqvar •BQN _eqvar "1↑""""" %% " "
•BQN "Ah"•internal.Variation"1↑""""" %% " " %USE eqvar •BQN _eqvar "1↑""""" %% " "
! ´ t•path,"custom-name", "arg"•BQN"⟨•path‿•name‿•args ⋄ •state⟩" ! •path, "custom-name", "arg" t ! ´ t•path,"custom-name", "arg"•BQN"⟨•path‿•name‿•args ⋄ •state⟩" ! •path, "custom-name", "arg" t
! ´ t•path,"custom-name" •BQN"⟨•path‿•name‿•args ⋄ •state⟩" ! •path, "custom-name", t ! ´ t•path,"custom-name" •BQN"⟨•path‿•name‿•args ⋄ •state⟩" ! •path, "custom-name", t
! ´ t•path •BQN"⟨•path‿•name‿•args ⋄ •state⟩" ! •path, "", t ! ´ t•path •BQN"⟨•path‿•name‿•args ⋄ •state⟩" ! •path, "", t
@ -318,8 +318,8 @@ r←•MakeRand 1 ⋄ ! 1¨⊸≡ ∊{𝕊: 500 r.Deal 1000}¨ ↕4
# •bit # •bit
!"•bit._cast: 𝕩 must have rank at least 1" % 81 •bit._cast 123 !"•bit._cast: 𝕩 must have rank at least 1" % 81 •bit._cast 123
(10) {! (𝕨¯1) 1𝕩•bit._cast (𝕨×𝕩)1} 81632 (10) {! (𝕨¯1) 1𝕩•bit._cast (𝕨×𝕩)1} 81632
%USE var {t𝕩18163264 1t? !¨ r{t•bit._cast 𝕩 V a}¨ LV a 128 r; @}¨ 44 %USE eqvar {t𝕩18163264 1t? {t•bit._cast 𝕩}_eqvar 128; @}¨ 44
%USE var {t𝕩18163264 !¨ r{t•bit._cast 𝕩 V a}¨ LV a4=128 r}¨ 44 %USE eqvar {t𝕩18163264 {t•bit._cast 𝕩}_eqvar 4=128}¨ 44
! 101 816•bit._cast c02'a'+11 •rand.Range 26 ! 102 c ! 101 816•bit._cast c02'a'+11 •rand.Range 26 ! 102 c
! 101 816•bit._cast c 2'a'+11 •rand.Range 26 ! 102 c ! 101 816•bit._cast c 2'a'+11 •rand.Range 26 ! 102 c
832•bit._cast 37 %% 100992003 832•bit._cast 37 %% 100992003
@ -368,9 +368,9 @@ Str ← {!=𝕩 ⋄ !×≠𝕩 ⋄ ! ∧´2=•Type¨𝕩} ⋄ Str •platform.o
@-˜•ToUTF8 "𝕩⍉hello" %% 240157149169226141137104101108108111 @-˜•ToUTF8 "𝕩⍉hello" %% 240157149169226141137104101108108111
! •FromUTF8•ToUTF8 "𝕩⍉hello" ! •FromUTF8•ToUTF8 "𝕩⍉hello"
( (
%USE tvar %USE eqvar
ip¨ i@+0((¯5+11)+220)1114111-10 ip¨ i@+0((¯5+11)+220)1114111-10
{! 𝕩•FromUTF8•ToUTF8 𝕩 !¨ •ToUTF8 _tvar 𝕩}¨ i {! 𝕩•FromUTF8•ToUTF8 𝕩 •ToUTF8 _eqvar 𝕩}¨ i
t •ToUTF8¨ ip t •ToUTF8¨ ip
! (t)•ToUTF8 i ! (t)•ToUTF8 i
! ip •FromUTF8¨ t ! ip •FromUTF8¨ t

View File

@ -104,7 +104,7 @@ n←500 ⋄ a←↕n ⋄ i←(-n)+↕2×n ⋄ r←⌽(2×n)⥊a ⋄ ! (⌽a) ≡
!"𝔽⌾(a⊸⊏): Incompatible result elements" % 345(112) a<¨10 •internal.Keep a !"𝔽⌾(a⊸⊏): Incompatible result elements" % 345(112) a<¨10 •internal.Keep a
!"𝔽⌾(a⊸⊏): Incompatible result elements" % 34(("Ah"•internal.Variation 11)) <¨10 !"𝔽⌾(a⊸⊏): Incompatible result elements" % 34(("Ah"•internal.Variation 11)) <¨10
!"𝔽⌾(a⊸⊏): Incompatible result elements" % %USE evar (2730) {𝕨((3010)) 𝕩} _evar 1001 !"𝔽⌾(a⊸⊏): Incompatible result elements" % %USE evar (2730) {𝕨((3010)) 𝕩} _evar 1001
!"𝔽⌾(a⊸⊏): Incompatible result elements" % %USE evar !¨ {{¬(314)𝕩}•internal.Keep((10<𝕩)) 𝕩} _evar 105110011 !"𝔽⌾(a⊸⊏): Incompatible result elements" % %USE evar {{¬(314)𝕩}•internal.Keep((10<𝕩)) 𝕩} _evar 105110011
%USE eqvar {¬((10<𝕩)) 𝕩} _eqvar 105110011 %% 105001100 %USE eqvar {¬((10<𝕩)) 𝕩} _eqvar 105110011 %% 105001100
2020(11) 10 %% 0202+8 2020(11) 10 %% 0202+8
100+(12¯1) 5 %% 01011023104 100+(12¯1) 5 %% 01011023104
@ -206,9 +206,6 @@ n←500 ⋄ a←↕n ⋄ i←(-n)+↕2×n ⋄ r←⌽(2×n)⥊a ⋄ ! (⌽a) ≡
4 (3)(010/) 3 %% 0,3,2,0 4 (3)(010/) 3 %% 0,3,2,0
4 (010/) 3 %% 0,1,2,0 4 (010/) 3 %% 0,1,2,0
4 (000/) 3 %% 0,1,2,0 4 (000/) 3 %% 0,1,2,0
!"No fill found" % 4 (3)(010/) 3 %PROPER_FILLS
!"No fill found" % 4 (010/) 3 %PROPER_FILLS
!"No fill found" % 4 (000/) 3 %PROPER_FILLS
# < # <
< 4 %% 4 < 4 %% 4