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/mut.bqn // fuzz-test mut.h (currently just bitarr fill)
|
||||
./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/random.bqn // test (•MakeRand n).Range
|
||||
./BQN test/joinReuse.bqn // test in-place join; requires -DPRINT_JOIN_REUSE
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
⟨EEqual, ClearRefs, Variation, Squeeze, Type⟩ ← •internal
|
||||
u ← ⌊100×(•UnixTime+1|100וMonoTime)@
|
||||
|
||||
r ← •MakeRand •Show u
|
||||
### WHOLE-FILE-TEST
|
||||
# tests if squeeze produces the optimal result
|
||||
helpers ← ⊑•args
|
||||
r ← helpers.GetRand@
|
||||
⟨EEqual, ClearRefs, Variation, Unshare, Squeeze, Type⟩ ← •internal
|
||||
|
||||
ntn ← "bit"‿"i8"‿"i16"‿"i32"‿"f64"
|
||||
ntv ← "Ab"‿"Ai8"‿"Ai16"‿"Ai32"‿"Af64"
|
||||
@ -13,7 +14,7 @@ ctn ← "c8"‿"c16"‿"c32"
|
||||
ctv ← "Ac8"‿"Ac16"‿"Ac32"
|
||||
cmax ← 1114112⌊2⋆8×2⋆↕3
|
||||
|
||||
⟨specF64⟩ ← ⟨r⟩ •Import "utils.bqn"
|
||||
⟨specF64⟩ ← ⟨r⟩ helpers.Import "utils.bqn"
|
||||
spec ← specF64∾{⇐}∾"a⍉𝕨"∾(@+1114111-↕5)∾<"foo"
|
||||
|
||||
RandEl ← r.Range∘3◶⟨
|
||||
@ -51,30 +52,24 @@ Do ← { 𝕊:
|
||||
|
||||
{
|
||||
arrv ← 𝕩 Variation arr
|
||||
arrv0 ← Unshare arrv
|
||||
sq ← Squeeze arrv
|
||||
sqt ← Type sq
|
||||
sqt↩{
|
||||
"arr"≡¯3↑sqt? ¯3↓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 "Array: "∾•Repr arr
|
||||
•Out "Squeezed: "∾•Repr sq
|
||||
•Out "Testing variation "∾•Repr 𝕩
|
||||
•Out "Got: "∾(Type sq)∾" / "∾sqt
|
||||
•Out "Expected one of: "∾•Repr tOut
|
||||
•Exit 1
|
||||
!0
|
||||
;@
|
||||
}¨ tIn
|
||||
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
|
||||
@ -1,14 +1,14 @@
|
||||
⟨EEqual, ListVariations, ClearRefs, Variation, Squeeze, Info⟩ ← •internal
|
||||
u ← ⌊100×(•UnixTime+1|100וMonoTime)@
|
||||
# u ↩ 123
|
||||
|
||||
r ← •MakeRand •Show u
|
||||
⟨RandVals, vars, spec, specF64⟩ ← ⟨r⟩ •Import "utils.bqn"
|
||||
### WHOLE-FILE-TEST
|
||||
# tests if squeeze produces valid results
|
||||
helpers ← ⊑•args
|
||||
r ← helpers.GetRand@
|
||||
⟨EEqual, ListVariations, ClearRefs, Variation, Unshare, Squeeze, Info⟩ ← •internal
|
||||
⟨RandVals, vars, spec, specF64⟩ ← ⟨r⟩ helpers.Import "utils.bqn"
|
||||
|
||||
TestSq0 ← {a ← Squeeze 𝕨 Variation 𝕩 ⋄ ! 1==a ⋄ ! 0=≠a ⋄ a}
|
||||
{! ⟨0⟩≡1↑𝕩 TestSq0 ↕0}¨ 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
|
||||
allSpec ← specF64 ∾ (@+0‿10‿32‿127‿128‿255‿256‿32767‿32768‿65535‿65536‿1114110‿1114111) ∾ {⇐}‿+
|
||||
@ -21,11 +21,12 @@ Do ← { 𝕊:
|
||||
F ← { 𝕊:
|
||||
p ← {r.Range 2? r.Range l; (¯1+l-⊢)⍟(r.Range 2) r.Range (2⋆r.Range 10)⌊l}
|
||||
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 "Array: "∾•Repr b
|
||||
•Out "Squeezed: "∾•Repr Squeeze b
|
||||
•Exit 1
|
||||
!0
|
||||
;@
|
||||
}
|
||||
|
||||
@ -35,4 +36,4 @@ Do ← { 𝕊:
|
||||
ClearRefs@
|
||||
}
|
||||
|
||||
Do⍟40000 @
|
||||
Do⍟40000 @
|
||||
@ -278,6 +278,8 @@ helpers ← {
|
||||
|
||||
GetRand ⇐ {𝕊: •MakeRand (GetTestState@).rand.Range 1e9}
|
||||
|
||||
Import ⇐ {𝕊: 𝕨 •Import •file.At 𝕩}
|
||||
|
||||
_eqvar ⇐ {𝔽 _eqvar0_ ListVariations}
|
||||
_eqvarv_ ⇐ {𝔽 _eqvar0_ (𝕘⊸ListVariations)}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user