more tests for ⊏
This commit is contained in:
parent
2ca488dd66
commit
7bb5a1d9d8
@ -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 𝕩 ⋄ {⊑ok∊r? !"TEST FAIL: variation didn't error"; ("TEST FAIL: varying error messages"⊸⋈ ! 1=≠)⍷r ⋄ !⊑r}}
|
||||
%DEF eqerr %USE eqvar ⋄ _eqerr ← {ok←{⇐} ⋄ r←⥊𝕨 ok∘𝔽⎊{𝕊: •CurrentError@}⌜ 𝕩 ⋄ {⊑ok∊r? !"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𝕩}
|
||||
|
||||
1‿2 1⎉0 1 %% 1‿1
|
||||
1 1⎉0 1‿2 %% 1‿1
|
||||
@ -78,6 +83,11 @@
|
||||
%USE tcc ⋄ ⊏_tcc 4‿2⥊↕8 ⋄ 1⊏_tcc 4‿2⥊↕8 ⋄ ⊏_tcc ↕4‿2 ⋄ 1⊏_tcc ↕4‿2
|
||||
%USE tcc ⋄ ⊑_tcc 4‿2⥊↕8 ⋄ 1⊑_tcc 4‿2⥊↕8 ⋄ ⊑_tcc ↕4‿2 ⋄ 1⊑_tcc ↕4‿2
|
||||
|
||||
%USE eqvar ⋄ 0‿0‿0‿0 {𝕨⊸⊏˘𝕩}_eqvar ≍˘↕5 %% 5‿4⥊⌊4÷˜↕20
|
||||
%USE eqvar ⋄ 0‿¯1‿0‿¯1 {𝕨⊸⊏˘𝕩}_eqvar ≍˘↕5 %% 5‿4⥊⌊4÷˜↕20
|
||||
!"⊏: Indexing out-of-bounds (1∊𝕨, 1≡≠𝕩)" % %USE evar ⋄ 0‿¯1‿1‿¯1 {𝕨⊸⊏˘𝕩}_evar ≍˘↕5
|
||||
!"⊏: Indexing out-of-bounds (¯2∊𝕨, 1≡≠𝕩)" % %USE evar ⋄ 0‿¯1‿¯2‿¯1 {𝕨⊸⊏˘𝕩}_evar ≍˘↕5
|
||||
|
||||
(
|
||||
%USE IS_HEAPVERIFY
|
||||
# big ˝˘ & `˘ tester
|
||||
|
||||
35
test/cases/fuzz/select-cells.bqn
Normal file
35
test/cases/fuzz/select-cells.bqn
Normal 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 𝕩} 1⊑≢x
|
||||
w {𝕨⊸⊏˘ 𝕩}_eqvar x
|
||||
}
|
||||
|
||||
Test¨ ↕1000
|
||||
)
|
||||
|
||||
(
|
||||
Test ← {𝕊 gen:
|
||||
{ 𝕊 cam:
|
||||
{
|
||||
i ← •rand.Range∘3◶⟨⊢, ¯1⊸-, {𝕩 - (1+2×𝕩) × 2•rand.Range˜≠𝕩}⟩ 𝕨 •rand.Range 𝕩
|
||||
! (i⊸⊏˘ ≡ i⊸⊏○•internal.Keep˘) Gen cam‿𝕩
|
||||
}⌜˜ 1↓⍷(↕20)∾⌊(√2)⋆↕16
|
||||
}¨ 1‿6‿100
|
||||
}
|
||||
|
||||
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}}
|
||||
)
|
||||
Loading…
Reference in New Issue
Block a user