1- extern crate rustc_serialize as serialize;
2-
31extern crate ndarray;
42
53extern crate serde;
@@ -11,73 +9,9 @@ extern crate rmp_serde;
119#[ cfg( feature = "ron" ) ]
1210extern crate ron;
1311
14- use serialize:: json;
15-
1612
1713use ndarray:: { arr0, arr1, arr2, s, RcArray , RcArray1 , RcArray2 , ArrayD , IxDyn } ;
1814
19- #[ test]
20- fn serial_many_dim ( )
21- {
22- {
23- let a = arr0 :: < f32 > ( 2.72 ) ;
24- let serial = json:: encode ( & a) . unwrap ( ) ;
25- println ! ( "Encode {:?} => {:?}" , a, serial) ;
26- let res = json:: decode :: < RcArray < f32 , _ > > ( & serial) ;
27- println ! ( "{:?}" , res) ;
28- assert_eq ! ( a, res. unwrap( ) ) ;
29- }
30-
31- {
32- let a = arr1 :: < f32 > ( & [ 2.72 , 1. , 2. ] ) ;
33- let serial = json:: encode ( & a) . unwrap ( ) ;
34- println ! ( "Encode {:?} => {:?}" , a, serial) ;
35- let res = json:: decode :: < RcArray1 < f32 > > ( & serial) ;
36- println ! ( "{:?}" , res) ;
37- assert_eq ! ( a, res. unwrap( ) ) ;
38- }
39-
40- {
41- let a = arr2 ( & [ [ 3. , 1. , 2.2 ] , [ 3.1 , 4. , 7. ] ] ) ;
42- let serial = json:: encode ( & a) . unwrap ( ) ;
43- println ! ( "Encode {:?} => {:?}" , a, serial) ;
44- let res = json:: decode :: < RcArray2 < f32 > > ( & serial) ;
45- println ! ( "{:?}" , res) ;
46- assert_eq ! ( a, res. unwrap( ) ) ;
47- let text = r##"{"v":1,"dim":[2,3],"data":[3,1,2.2,3.1,4,7]}"## ;
48- let b = json:: decode :: < RcArray2 < f32 > > ( text) ;
49- assert_eq ! ( a, b. unwrap( ) ) ;
50- }
51-
52-
53- {
54- // Test a sliced array.
55- let mut a = RcArray :: linspace ( 0. , 31. , 32 ) . reshape ( ( 2 , 2 , 2 , 4 ) ) ;
56- a. slice_collapse ( s ! [ ..; -1 , .., .., ..2 ] ) ;
57- let serial = json:: encode ( & a) . unwrap ( ) ;
58- println ! ( "Encode {:?} => {:?}" , a, serial) ;
59- let res = json:: decode :: < RcArray < f32 , _ > > ( & serial) ;
60- println ! ( "{:?}" , res) ;
61- assert_eq ! ( a, res. unwrap( ) ) ;
62- }
63- }
64-
65- #[ test]
66- fn serial_wrong_count ( )
67- {
68- // one element too few
69- let text = r##"{"v":1,"dim":[2,3],"data":[3,1,2.2,3.1,4]}"## ;
70- let arr = json:: decode :: < RcArray2 < f32 > > ( text) ;
71- println ! ( "{:?}" , arr) ;
72- assert ! ( arr. is_err( ) ) ;
73-
74- // future version
75- let text = r##"{"v":200,"dim":[2,3],"data":[3,1,2.2,3.1,4,7]}"## ;
76- let arr = json:: decode :: < RcArray2 < f32 > > ( text) ;
77- println ! ( "{:?}" , arr) ;
78- assert ! ( arr. is_err( ) ) ;
79- }
80-
8115#[ test]
8216fn serial_many_dim_serde ( )
8317{
0 commit comments