some more tests of NaN⌾(a⊸/) & NaN⌾(a⊸⊏)

This commit is contained in:
dzaima 2025-05-20 13:55:54 +03:00
parent a37166975c
commit 28f5896350

View File

@ -1,6 +1,6 @@
%DEF var V•internal.Variation LV•internal.ListVariations CLR•internal.ClearRefs %DEF var V•internal.Variation LV•internal.ListVariations CLR•internal.ClearRefs
%DEF tvar %USE var _tvar {F _𝕣 x: (CLR@) {F 𝕩 V x}¨ LV 𝕩; w F _𝕣 x: (CLR@) (LV 𝕨) {(𝕨 V w) F 𝕩 V x} LV 𝕩} %DEF tvar %USE var _tvar {F _𝕣 x: (CLR@) {F 𝕩 V x}¨ LV 𝕩; w F _𝕣 x: (CLR@) (LV 𝕨) {(𝕨 V w) F 𝕩 V x} LV 𝕩}
%DEF eqvar %USE tvar _eqvar {r 𝕨 𝔽 _tvar 𝕩 !(r)¨ r r} %DEF eqvar %USE tvar _eqvar {r 𝕨 𝔽 _tvar 𝕩 !•internal.EEqual(r)¨ r r}
%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}} %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}}
%DEF eqerr %USE eqvar _eqerr {ok{} r𝕨 ok𝔽{𝕊: •CurrentError@} 𝕩 {okr? !"TEST FAIL: case didn't error"; ("TEST FAIL: varying error messages" ! 1=)r !r}} %DEF eqerr %USE eqvar _eqerr {ok{} r𝕨 ok𝔽{𝕊: •CurrentError@} 𝕩 {okr? !"TEST FAIL: case didn't error"; ("TEST FAIL: varying error messages" ! 1=)r !r}}
# ¨ & ˘ # ¨ & ˘
@ -208,3 +208,53 @@ n←500 ⋄ a←↕n ⋄ i←(-n)+↕2×n ⋄ r←⌽(2×n)⥊a ⋄ ! (⌽a) ≡
!"𝕨⌽⁼𝕩: 𝕩 must have rank at least 1" % 1(2) 10 !"𝕨⌽⁼𝕩: 𝕩 must have rank at least 1" % 1(2) 10
(2) 1010100 %% 28292021222324252627 (2) 1010100 %% 28292021222324252627
(12) 5525 %% 1552223242021234017895612131410111718191516 (12) 5525 %% 1552223242021234017895612131410111718191516
# NaN things
(
%USE eqvar
_test { set Repl _𝕣 exp:
# •Show ⟨"test", set, Repl, exp⟩
bad {}
_mod {exp? 𝔽; {"Expected error!"!bad𝕩𝕩}(bad𝔽{𝕊: •CurrentError@})}
HasMsg {"mismatched result/error message", exp, 𝕨, 𝕩 ! (¬exp) 𝕨𝕩}
exp {
@𝕊·: @;
𝕨𝕊0:
(101160) {Repl(𝕨/) 𝕩}_eqvar 1001
"𝔽⌾(a⊸/): Incompatible result elements" HasMsg (10270) {Repl(𝕨/) 𝕩} _mod _eqvar 1001
125 {Repl(𝕨) 𝕩}_eqvar 1001
"𝔽⌾(a⊸⊏): Incompatible result elements" HasMsg 144 {Repl(𝕨) 𝕩} _mod _eqvar 1001
;
𝕨𝕊1:
"⌾: Incompatible result elements in structural Under" HasMsg 122 {Repl(𝕨¨) 𝕩} _mod 010
} set
}
Batch { expNativeexpRuntimeGet:
val Get@
{ 𝕊 rt:
# •Show ⟨"batch", get, val, rt⟩
expNewexpSame {rt? expRuntime; expNative}
rt (Get¨ ) _test expNew
rt (Get¨ 3) _test expNew
rt {𝕊: 3<val} _test expSame
rt ( 3<val) _test expSame
rt (val˙¨ ) _test expSame
}¨ 01
}
ShouldNotBeCalled { 𝕊:
! •Show "I should not be called!"
}
Batch¨
00, 00, 0÷0
00, 00, <0÷0
00, 00, 3,0÷0,4
11, @@, {𝕊: ShouldNotBeCalled}
11, @@, ShouldNotBeCalled˙
01, @@, {𝕊: ShouldNotBeCalled(0÷0)}
11, @@, ShouldNotBeCalled(0÷0)˙
11, 11,
)