move test/squeezeValid.bqn & test/squeezeExact.bqn to test/run.bqn system

This commit is contained in:
dzaima 2025-06-01 05:13:16 +03:00
parent a57afad9d7
commit b049fe196d
4 changed files with 22 additions and 26 deletions

View File

@ -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

View File

@ -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 111411228×23
specF64 r Import "utils.bqn"
specF64 r helpers.Import "utils.bqn"
spec specF64{}"a⍉𝕨"(@+1114111-5)<"foo"
RandEl r.Range3
@ -51,30 +52,24 @@ Do ← { 𝕊:
{
arrv 𝕩 Variation arr
arrv0 Unshare arrv
sq Squeeze arrv
sqt Type sq
sqt{
"arr"¯3sqt? ¯3sqt;
!"slice"¯5sqt ¯5sqt
}
¬ (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 111¯1×π00
n0b Squeeze n0a
{
n0a÷n0b? •Out "Squeeze behavior on negative zero: keep";
•Out "Squeeze behavior on negative zero: discard"
}
Do¨ 100000

View File

@ -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}
{! 01𝕩 TestSq0 0}¨ 5vars
{! " "1𝕩 TestSq0 ""}¨ 5vars
{𝕩 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 (@+010321271282552563276732768655356553611141101114111) {}+
@ -21,11 +21,12 @@ Do ← { 𝕊:
F { 𝕊:
p {r.Range 2? r.Range l; (¯1+l-)(r.Range 2) r.Range (2r.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@
}
Do40000 @
Do40000 @

View File

@ -278,6 +278,8 @@ helpers ← {
GetRand {𝕊: •MakeRand (GetTestState@).rand.Range 1e9}
Import {𝕊: 𝕨 •Import •file.At 𝕩}
_eqvar {𝔽 _eqvar0_ ListVariations}
_eqvarv_ {𝔽 _eqvar0_ (𝕘ListVariations)}
}