Skip to content

Commit 573950a

Browse files
committed
FEAT: Tests for IxDyn serialization
1 parent 20bf34a commit 573950a

File tree

1 file changed

+36
-1
lines changed

1 file changed

+36
-1
lines changed

serialization-tests/tests/serialize.rs

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ extern crate ron;
1414
use serialize::json;
1515

1616

17-
use ndarray::{arr0, arr1, arr2, RcArray, RcArray1, RcArray2};
17+
use ndarray::{arr0, arr1, arr2, RcArray, RcArray1, RcArray2, ArrayD};
1818

1919
#[test]
2020
fn serial_many_dim()
@@ -123,6 +123,41 @@ fn serial_many_dim_serde()
123123
}
124124
}
125125

126+
#[test]
127+
fn serial_ixdyn_serde()
128+
{
129+
{
130+
let a = arr0::<f32>(2.72).into_dyn();
131+
let serial = serde_json::to_string(&a).unwrap();
132+
println!("Serde encode {:?} => {:?}", a, serial);
133+
let res = serde_json::from_str::<RcArray<f32, _>>(&serial);
134+
println!("{:?}", res);
135+
assert_eq!(a, res.unwrap());
136+
}
137+
138+
{
139+
let a = arr1::<f32>(&[2.72, 1., 2.]).into_dyn();
140+
let serial = serde_json::to_string(&a).unwrap();
141+
println!("Serde encode {:?} => {:?}", a, serial);
142+
let res = serde_json::from_str::<ArrayD<f32>>(&serial);
143+
println!("{:?}", res);
144+
assert_eq!(a, res.unwrap());
145+
}
146+
147+
{
148+
let a = arr2(&[[3., 1., 2.2], [3.1, 4., 7.]]).into_dyn();
149+
let serial = serde_json::to_string(&a).unwrap();
150+
println!("Serde encode {:?} => {:?}", a, serial);
151+
let res = serde_json::from_str::<ArrayD<f32>>(&serial);
152+
println!("{:?}", res);
153+
assert_eq!(a, res.unwrap());
154+
let text = r##"{"v":1,"dim":[2,3],"data":[3,1,2.2,3.1,4,7]}"##;
155+
let b = serde_json::from_str::<ArrayD<f32>>(text);
156+
assert_eq!(a, b.unwrap());
157+
}
158+
159+
}
160+
126161
#[test]
127162
fn serial_wrong_count_serde()
128163
{

0 commit comments

Comments
 (0)