more tests for ⊏

This commit is contained in:
dzaima 2024-07-25 23:55:54 +03:00
parent 2ca488dd66
commit 7bb5a1d9d8
2 changed files with 46 additions and 1 deletions

View File

@ -1,5 +1,10 @@
%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 eqvar %USE tvar _eqvar {r 𝕨 𝔽 _tvar 𝕩 !(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 eqerr %USE eqvar _eqerr {ok{} r𝕨 ok𝔽{𝕊: •CurrentError@} 𝕩 {okr? !"TEST FAIL: case didn't error"; ("TEST FAIL: varying error messages" ! 1=)r !r}}
%DEF k _k {𝔽•internal.Keep}
%DEF tcc %USE k _tcc { ! ´ (<𝕨 𝔽_k˘'e' 𝕩) ¨ (𝕨 𝔽˘'e'•internal.Variation𝕩)¨ "i"•internal.ListVariations 𝕩}
%DEF tcc %USE k %USE var _tcc { ! ´ (<𝕨 𝔽_k˘'e' 𝕩) ¨ (𝕨 𝔽˘'e'V𝕩)¨ "i"LV𝕩}
12 10 1 %% 11
1 10 12 %% 11
@ -78,6 +83,11 @@
%USE tcc _tcc 428 1_tcc 428 _tcc 42 1_tcc 42
%USE tcc _tcc 428 1_tcc 428 _tcc 42 1_tcc 42
%USE eqvar 0000 {𝕨˘𝕩}_eqvar ˘5 %% 544÷˜20
%USE eqvar 0¯10¯1 {𝕨˘𝕩}_eqvar ˘5 %% 544÷˜20
!"⊏: Indexing out-of-bounds (1∊𝕨, 1≡≠𝕩)" % %USE evar 0¯11¯1 {𝕨˘𝕩}_evar ˘5
!"⊏: Indexing out-of-bounds (¯2∊𝕨, 1≡≠𝕩)" % %USE evar 0¯1¯2¯1 {𝕨˘𝕩}_evar ˘5
(
%USE IS_HEAPVERIFY
# big ˝˘ & `˘ tester

View File

@ -0,0 +1,35 @@
%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 eqvar %USE tvar _eqvar {r 𝕨 𝔽 _tvar 𝕩 !(r)¨ r r}
(
%USE eqvar
LV ""LV
Test { 𝕊:
x (2•rand.Range 50)•rand.Range 100
w {0: 0; (1+•rand.Range 50) •rand.Range 𝕩} 1x
w {𝕨˘ 𝕩}_eqvar x
}
Test¨ 1000
)
(
Test {𝕊 gen:
{ 𝕊 cam:
{
i •rand.Range3, ¯1-, {𝕩 - (1+2×𝕩) × 2•rand.Range˜𝕩} 𝕨 •rand.Range 𝕩
! (i˘ i•internal.Keep˘) Gen cam𝕩
}˜ 1(20)(2)16
}¨ 16100
}
Test {{0 + 𝕩 •rand.Range 100}}
Test {{0 + 𝕩 •rand.Range 1000}}
Test {{0 + 𝕩 •rand.Range 1e9}}
Test {{0 + 𝕩 •rand.Range 0}}
Test {{@ + 𝕩 •rand.Range 100}}
Test {{@ + 𝕩 •rand.Range 1000}}
Test {{@ + 𝕩 •rand.Range 1114111}}
)