6 assert_equal ~printer:Std.dump x @@ to_list [ y ]
9 assert_equal ~printer:Std.dump (to_list x) (to_list y)
11 let _ = begin "swfBaseOut.ml" >::: [
12 "equality" >:: begin fun () ->
13 assert_equal (`Si8 0) (`Si8 0)
15 "`Si8" >:: begin fun () ->
16 ok_i [0x7F] @@ `Si8 0x7F;
17 ok_i [0xFF] @@ `Si8 (~-1);
19 "`Si16" >:: begin fun () ->
20 ok_i [0x7F; 0x00] @@ `Si16 0x7F;
21 ok_i [0xFF; 0x7F] @@ `Si16 0x7FFF;
22 ok_i [0xFF; 0xFF] @@ `Si16 (~-1);
24 "`Si24" >:: begin fun () ->
25 ok_i [0x7F; 0; 0] @@ `Si24 0x7F;
26 ok_i [0x56; 0x34; 0x12] @@ `Si24 0x123456;
27 ok_i [0xFF; 0xFF; 0xFF] @@ `Si24 (~-1);
29 "`Si32" >:: begin fun () ->
30 ok_i [0xFF; 0xFF; 0xFF; 0x7F] @@ `Si32 0x7FFFFFFFl;
31 ok_i [0xFF; 0xFF; 0xFF; 0xFF] @@ `Si32 (-1l);
33 "`Ui8" >:: begin fun () ->
34 ok_i [0x0] @@ `Ui8 0x0;
35 ok_i [0xFF] @@ `Ui8 0xFF;
37 "`Ui16" >:: begin fun () ->
38 ok_i [0x00; 0x00] @@ `Ui16 0;
39 ok_i [0xFF; 0xFF] @@ `Ui16 0xFFFF;
40 ok_i [0x34; 0x12] @@ `Ui16 0x1234;
42 "`Ui24" >:: begin fun () ->
43 ok_i [0;0;0] @@ `Ui24 0;
44 ok_i [0x56; 0x34; 0x12] @@ `Ui24 0x123456;
45 ok_i [0xFF; 0xFF; 0xFF] @@ `Ui24 0xFFFFFF;
47 "`Ui32" >:: begin fun () ->
48 ok_i [0xFF; 0xFF; 0xFF; 0x7F] @@ `Ui32 0x7FFFFFFFl;
49 ok_i [0xFF; 0xFF; 0xFF; 0xFF] @@ `Ui32 0xFFFFFFFFl;
51 "`Ui64" >:: begin fun () ->
52 ok_i [0xFF; 0xFF; 0xFF; 0xFF; 0;0;0;0] @@
55 "Fixed" >:: begin fun () ->
56 ok_b [`Ui16 0x8000; `Ui16 7] [`Fixed 7.5];
57 ok_b [`Ui16 0; `Ui16 0xFFFF] [`Fixed 65535.0];
59 "Fixed8" >:: begin fun () ->
60 ok_b [`Ui8 0x80; `Ui8 7] [`Fixed8 7.5];
61 ok_b [`Ui8 0; `Ui8 0xFF] [`Fixed8 255.0];
63 (* "Float16" >:: begin fun() ->
64 ok_i [0; 0x3c] @@ Float16 1.;
65 ok_i [0; 0xc0] @@ Float16 (-2.0);
66 ok_i [0xff; 0x7b] @@ Float16 65504.;
68 "Float32" >:: begin fun() ->
69 ok_i [0; 0; 0x20; 0x40] @@ `Float32 2.5;
71 "Float64" >:: begin fun() ->
72 ok_i [0x55; 0x55; 0x55; 0x55;
73 0x55; 0x55; 0xd5; 0x3f] @@ `Float64 0.333333333333333315;
76 "1byte" >:: begin fun () ->
77 ok_i [0] @@ `EUi32 0l;
78 ok_i [0x7F] @@ `EUi32 0x7Fl
80 "2byte" >:: begin fun () ->
81 ok_i [0xFF;0x30] @@ `EUi32 0x187Fl;
82 ok_i [0xFF;0x01] @@ `EUi32 0xFFl;
83 ok_i [0xFF;0x7F] @@ `EUi32 0x3FFFl
85 "3byte/15-21bit" >:: begin fun () ->
86 ok_i [0xFF;0xFF;0x01] @@ `EUi32 0x7FFFl;
87 ok_i [0xFF;0xFF;0x7F] @@ `EUi32 0x1F_FFFFl
89 "4 byte/22-28bit" >:: begin fun () ->
90 ok_i [0xFF;0xFF;0xFF;0x01] @@ `EUi32 0x003F_FFFFl;
91 ok_i [0xFF;0xFF;0xFF;0x7F] @@ `EUi32 0x0FFF_FFFFl
93 "5 byte/29-35bit" >:: begin fun () ->
94 ok_i [0xFF;0xFF;0xFF;0xFF;0x01] @@ `EUi32 0x1FFF_FFFFl;
95 ok_i [0xFF;0xFF;0xFF;0xFF;0x03] @@ `EUi32 0x3FFF_FFFFl
98 "`UB" >:: begin fun () ->
99 ok_i [0b00001_000] @@ `Bits [UB (5,1)];
101 "`SB" >:: begin fun () ->
102 ok_i [0b00001_000] @@ `Bits [SB (5,1)];
103 ok_i [0b11111_000] @@ `Bits [SB (5,-1)];
105 "Bits" >:: begin fun () ->
106 ok_i [0b00001_000; 0b1000_0000] @@ `Bits [UB (5,1); UB (4,1)]
108 "rect" >:: begin fun () ->
109 ok_b [ `Bits [UB(5,2); SB(2,0); SB(2,0); SB(2,1); SB(2,1)]] @@ [`Rect (0,0,1,1)];
110 ok_b [ `Bits [UB(5,11); SB(11,127); SB(11,260); SB(11,15); SB(11,514)]] @@ [`Rect (127,260,15,514)]
112 "size" >:: begin fun () ->
113 ok_b [`Ui32 4l] [`Ui32Size];
114 ok_b [`Ui32 6l; `EUi32 0xFFl] [`Ui32Size; `EUi32 0xFFl;];
116 "rgb" >:: begin fun () ->
117 ok_b [`Ui8 1; `Ui8 2; `Ui8 3] [`RGB (1,2,3)];
118 ok_b [`Ui8 1; `Ui8 2; `Ui8 3; `Ui8 4] [`RGBA (1,2,3,4)]
120 ] end +> run_test_tt_main