move test/squeezeValid.bqn & test/squeezeExact.bqn to test/run.bqn system
This commit is contained in:
parent
a57afad9d7
commit
b049fe196d
@ -13,8 +13,6 @@ test/run.bqn // run tests in test/cases/
|
|||||||
./BQN test/bit.bqn // fuzz-test •bit functions
|
./BQN test/bit.bqn // fuzz-test •bit functions
|
||||||
./BQN test/mut.bqn // fuzz-test mut.h (currently just bitarr fill)
|
./BQN test/mut.bqn // fuzz-test mut.h (currently just bitarr fill)
|
||||||
./BQN test/hash.bqn // fuzz-test hashing
|
./BQN test/hash.bqn // fuzz-test hashing
|
||||||
./BQN test/squeezeValid.bqn // fuzz-test squeezing giving a correct result
|
|
||||||
./BQN test/squeezeExact.bqn // fuzz-test squeezing giving the exact smallest result
|
|
||||||
./BQN test/various.bqn // tests for various small things
|
./BQN test/various.bqn // tests for various small things
|
||||||
./BQN test/random.bqn // test (•MakeRand n).Range
|
./BQN test/random.bqn // test (•MakeRand n).Range
|
||||||
./BQN test/joinReuse.bqn // test in-place join; requires -DPRINT_JOIN_REUSE
|
./BQN test/joinReuse.bqn // test in-place join; requires -DPRINT_JOIN_REUSE
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
⟨EEqual, ClearRefs, Variation, Squeeze, Type⟩ ← •internal
|
### WHOLE-FILE-TEST
|
||||||
u ← ⌊100×(•UnixTime+1|100וMonoTime)@
|
# tests if squeeze produces the optimal result
|
||||||
|
helpers ← ⊑•args
|
||||||
r ← •MakeRand •Show u
|
r ← helpers.GetRand@
|
||||||
|
⟨EEqual, ClearRefs, Variation, Unshare, Squeeze, Type⟩ ← •internal
|
||||||
|
|
||||||
ntn ← "bit"‿"i8"‿"i16"‿"i32"‿"f64"
|
ntn ← "bit"‿"i8"‿"i16"‿"i32"‿"f64"
|
||||||
ntv ← "Ab"‿"Ai8"‿"Ai16"‿"Ai32"‿"Af64"
|
ntv ← "Ab"‿"Ai8"‿"Ai16"‿"Ai32"‿"Af64"
|
||||||
@ -13,7 +14,7 @@ ctn ← "c8"‿"c16"‿"c32"
|
|||||||
ctv ← "Ac8"‿"Ac16"‿"Ac32"
|
ctv ← "Ac8"‿"Ac16"‿"Ac32"
|
||||||
cmax ← 1114112⌊2⋆8×2⋆↕3
|
cmax ← 1114112⌊2⋆8×2⋆↕3
|
||||||
|
|
||||||
⟨specF64⟩ ← ⟨r⟩ •Import "utils.bqn"
|
⟨specF64⟩ ← ⟨r⟩ helpers.Import "utils.bqn"
|
||||||
spec ← specF64∾{⇐}∾"a⍉𝕨"∾(@+1114111-↕5)∾<"foo"
|
spec ← specF64∾{⇐}∾"a⍉𝕨"∾(@+1114111-↕5)∾<"foo"
|
||||||
|
|
||||||
RandEl ← r.Range∘3◶⟨
|
RandEl ← r.Range∘3◶⟨
|
||||||
@ -51,30 +52,24 @@ Do ← { 𝕊:
|
|||||||
|
|
||||||
{
|
{
|
||||||
arrv ← 𝕩 Variation arr
|
arrv ← 𝕩 Variation arr
|
||||||
|
arrv0 ← Unshare arrv
|
||||||
sq ← Squeeze arrv
|
sq ← Squeeze arrv
|
||||||
sqt ← Type sq
|
sqt ← Type sq
|
||||||
sqt↩{
|
sqt↩{
|
||||||
"arr"≡¯3↑sqt? ¯3↓sqt;
|
"arr"≡¯3↑sqt? ¯3↓sqt;
|
||||||
!"slice"≡¯5↑sqt ⋄ ¯5↓sqt
|
!"slice"≡¯5↑sqt ⋄ ¯5↓sqt
|
||||||
}
|
}
|
||||||
¬ (arrv EEqual arr) ∧ (arrv EEqual sq) ∧ (⊑(<sqt) ∊ tOut)?
|
¬ (arrv0 EEqual arr) ∧ (arrv0 EEqual sq) ∧ (⊑(<sqt) ∊ tOut)?
|
||||||
•Out "Fail:"
|
•Out "Fail:"
|
||||||
•Out "Array: "∾•Repr arr
|
•Out "Array: "∾•Repr arr
|
||||||
•Out "Squeezed: "∾•Repr sq
|
•Out "Squeezed: "∾•Repr sq
|
||||||
•Out "Testing variation "∾•Repr 𝕩
|
•Out "Testing variation "∾•Repr 𝕩
|
||||||
•Out "Got: "∾(Type sq)∾" / "∾sqt
|
•Out "Got: "∾(Type sq)∾" / "∾sqt
|
||||||
•Out "Expected one of: "∾•Repr tOut
|
•Out "Expected one of: "∾•Repr tOut
|
||||||
•Exit 1
|
!0
|
||||||
;@
|
;@
|
||||||
}¨ tIn
|
}¨ tIn
|
||||||
ClearRefs@
|
ClearRefs@
|
||||||
}
|
}
|
||||||
|
|
||||||
n0a ← "Af64" Variation 1↓1‿1‿¯1×π‿0‿0
|
|
||||||
n0b ← Squeeze n0a
|
|
||||||
{
|
|
||||||
n0a≡○÷n0b? •Out "Squeeze behavior on negative zero: keep";
|
|
||||||
•Out "Squeeze behavior on negative zero: discard"
|
|
||||||
}
|
|
||||||
|
|
||||||
Do¨ ↕100000
|
Do¨ ↕100000
|
||||||
@ -1,14 +1,14 @@
|
|||||||
⟨EEqual, ListVariations, ClearRefs, Variation, Squeeze, Info⟩ ← •internal
|
### WHOLE-FILE-TEST
|
||||||
u ← ⌊100×(•UnixTime+1|100וMonoTime)@
|
# tests if squeeze produces valid results
|
||||||
# u ↩ 123
|
helpers ← ⊑•args
|
||||||
|
r ← helpers.GetRand@
|
||||||
r ← •MakeRand •Show u
|
⟨EEqual, ListVariations, ClearRefs, Variation, Unshare, Squeeze, Info⟩ ← •internal
|
||||||
⟨RandVals, vars, spec, specF64⟩ ← ⟨r⟩ •Import "utils.bqn"
|
⟨RandVals, vars, spec, specF64⟩ ← ⟨r⟩ helpers.Import "utils.bqn"
|
||||||
|
|
||||||
TestSq0 ← {a ← Squeeze 𝕨 Variation 𝕩 ⋄ ! 1==a ⋄ ! 0=≠a ⋄ a}
|
TestSq0 ← {a ← Squeeze 𝕨 Variation 𝕩 ⋄ ! 1==a ⋄ ! 0=≠a ⋄ a}
|
||||||
{! ⟨0⟩≡1↑𝕩 TestSq0 ↕0}¨ 5↑vars
|
{! ⟨0⟩≡1↑𝕩 TestSq0 ↕0}¨ 5↑vars
|
||||||
{! " "≡1↑𝕩 TestSq0 ""}¨ 5↓vars
|
{! " "≡1↑𝕩 TestSq0 ""}¨ 5↓vars
|
||||||
{𝕩 TestSq0 ⟨⟩}¨ ListVariations ⟨⟩ # {𝕩{•Out "Failed fill for "∾𝕨}⍟⊢ 8 ≠ 1↑⎊8 𝕩 TestSq0 ⟨⟩}¨ ListVariations ⟨⟩
|
{𝕩 TestSq0 ⟨⟩}¨ ListVariations ⟨⟩ # {𝕩{•Out "Failed fill for "∾𝕨}⍟⊢ 8 ≠ 1↑⎊8 𝕩 TestSq0 ⟨⟩}¨ ListVariations ⟨⟩ # %ALLOW_CATCH
|
||||||
|
|
||||||
specSpl ← 5(↑⋈↓)spec
|
specSpl ← 5(↑⋈↓)spec
|
||||||
allSpec ← specF64 ∾ (@+0‿10‿32‿127‿128‿255‿256‿32767‿32768‿65535‿65536‿1114110‿1114111) ∾ {⇐}‿+
|
allSpec ← specF64 ∾ (@+0‿10‿32‿127‿128‿255‿256‿32767‿32768‿65535‿65536‿1114110‿1114111) ∾ {⇐}‿+
|
||||||
@ -21,11 +21,12 @@ Do ← { 𝕊:
|
|||||||
F ← { 𝕊:
|
F ← { 𝕊:
|
||||||
p ← {r.Range 2? r.Range l; (¯1+l-⊢)⍟(r.Range 2) r.Range (2⋆r.Range 10)⌊l}
|
p ← {r.Range 2? r.Range l; (¯1+l-⊢)⍟(r.Range 2) r.Range (2⋆r.Range 10)⌊l}
|
||||||
b ← 𝕩˙⌾(p⊸⊑) a
|
b ← 𝕩˙⌾(p⊸⊑) a
|
||||||
¬b EEqual Squeeze b? # won't be acceptable with in-place squeezing, but that doesn't exist yet
|
b0 ← Unshare b
|
||||||
|
¬b0 EEqual Squeeze b?
|
||||||
•Out "Fail:"
|
•Out "Fail:"
|
||||||
•Out "Array: "∾•Repr b
|
•Out "Array: "∾•Repr b
|
||||||
•Out "Squeezed: "∾•Repr Squeeze b
|
•Out "Squeezed: "∾•Repr Squeeze b
|
||||||
•Exit 1
|
!0
|
||||||
;@
|
;@
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -35,4 +36,4 @@ Do ← { 𝕊:
|
|||||||
ClearRefs@
|
ClearRefs@
|
||||||
}
|
}
|
||||||
|
|
||||||
Do⍟40000 @
|
Do⍟40000 @
|
||||||
@ -278,6 +278,8 @@ helpers ← {
|
|||||||
|
|
||||||
GetRand ⇐ {𝕊: •MakeRand (GetTestState@).rand.Range 1e9}
|
GetRand ⇐ {𝕊: •MakeRand (GetTestState@).rand.Range 1e9}
|
||||||
|
|
||||||
|
Import ⇐ {𝕊: 𝕨 •Import •file.At 𝕩}
|
||||||
|
|
||||||
_eqvar ⇐ {𝔽 _eqvar0_ ListVariations}
|
_eqvar ⇐ {𝔽 _eqvar0_ ListVariations}
|
||||||
_eqvarv_ ⇐ {𝔽 _eqvar0_ (𝕘⊸ListVariations)}
|
_eqvarv_ ⇐ {𝔽 _eqvar0_ (𝕘⊸ListVariations)}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user