|
| 1 | +(require :unittest "lib/llib/unittest.l") |
| 2 | + |
| 3 | +(init-unit-test) |
| 4 | + |
| 5 | +(deftest binary-reader |
| 6 | + (let (sv iv lv fv f32v dv) |
| 7 | + ;; integer |
| 8 | + (setq sv #g((4) :short " ")) |
| 9 | + (assert (v= sv #i(8224 8224 8224 8224))) |
| 10 | + (setq iv #g((4) :integer " ")) |
| 11 | + (assert (v= iv #i(538976288 538976288 538976288 538976288))) |
| 12 | + (setq lv #g((4) :long " ")) |
| 13 | + (assert (v= lv #i(2314885530818453536 2314885530818453536 2314885530818453536 2314885530818453536))) |
| 14 | + ;; float |
| 15 | + (setq fv #g((4) :float " A a Z")) |
| 16 | + (assert (v= fv #f(1.00078430175781250000e+01 1.84612118875124793344e+20 1.35631564269401118307e-19 1.12678295211868160000e+16))) |
| 17 | + (setq f32v #g((4) :float32 " A a Z")) |
| 18 | + (assert (v= f32v #f(1.00078430175781250000e+01 1.84612118875124793344e+20 1.35631564269401118307e-19 1.12678295211868160000e+16))) |
| 19 | + (setq dv #g((2) :double " A a Z")) |
| 20 | + (assert (v= dv #f(7.08468741563101165134e+159 1.36446099760464422337e+126))) |
| 21 | + ) |
| 22 | + (let (im fm fmm) |
| 23 | + (setq im #g((3 3) :integer " ")) |
| 24 | + (assert (equal (array-dimensions im) (list 3 3))) |
| 25 | + (assert |
| 26 | + (v= (array-entity im) #i(538976288 538976288 538976288 538976288 538976288 538976288 538976288 538976288 538976288))) |
| 27 | + (setq fm #g((3 3) :float " . . . , , , [ [ [")) |
| 28 | + (assert (equal (array-dimensions fm) (list 3 3))) |
| 29 | + (assert |
| 30 | + (v= (array-entity fm) #f(3.64083208026499960397e-11 3.64083208026499960397e-11 3.64083208026499960397e-11 2.27552005016562475248e-12 2.27552005016562475248e-12 2.27552005016562475248e-12 4.50713180847472640000e+16 4.50713180847472640000e+16 4.50713180847472640000e+16))) |
| 31 | + (setq fmm #g((2 2 2) :float " < < > > ( ( ) )")) |
| 32 | + (assert (equal (array-dimensions fmm) (list 2 2 2))) |
| 33 | + (assert |
| 34 | + (v= (array-entity fmm) #f(9.77328419685363769531e-03 9.77328419685363769531e-03 1.56372547149658203125e-01 1.56372547149658203125e-01 8.88875019595947168938e-15 8.88875019595947168938e-15 3.55550007838378867575e-14 3.55550007838378867575e-14))) |
| 35 | + ) |
| 36 | + ;;(setq note #g((4) :notexistingtype "")) ;; error |
| 37 | + ) |
| 38 | + |
| 39 | +(run-all-tests) |
| 40 | +(exit) |
0 commit comments