in shed/scuba_sample/src/sample.rs [235:278]
fn to_json() {
let mut sample = ScubaSample::new();
let test_vec = vec!["foo", "bar", "foo"];
sample.set_time(12345);
sample.add("int1", 1);
sample.add("int2", 2);
sample.add("double1", 1.0);
sample.add("double2", std::f64::consts::PI);
sample.add("normal1", "The quick brown fox...");
sample.add(
"denorm1",
ScubaValue::Denorm("...jumps over the lazy dog.".into()),
);
sample.add("normvec1", test_vec.clone());
sample.add("tagset1", test_vec.iter().cloned().collect::<HashSet<_>>());
let json = sample.to_json().unwrap();
let expected = json!({
INT_KEY: {
"time": 12345,
"int1": 1,
"int2": 2,
},
DOUBLE_KEY: {
"double1": 1.0,
"double2": std::f64::consts::PI,
},
NORMAL_KEY: {
"normal1": "The quick brown fox...",
},
DENORM_KEY: {
"denorm1": "...jumps over the lazy dog.",
},
NORMVECTOR_KEY: {
"normvec1": ["foo", "bar", "foo"],
},
TAGSET_KEY: {
"tagset1": ["bar", "foo"],
},
});
assert_eq!(json, expected);
}