in shed/scuba_sample/src/value.rs [487:524]
fn from_json_value() {
use serde_json::json;
assert_eq!(
ScubaValue::try_from(json!("abc")).unwrap(),
ScubaValue::Normal("abc".to_string())
);
assert_eq!(
ScubaValue::try_from(json!(true)).unwrap(),
ScubaValue::Normal("true".to_string())
);
assert_eq!(
ScubaValue::try_from(json!(false)).unwrap(),
ScubaValue::Normal("false".to_string())
);
assert_eq!(
ScubaValue::try_from(json!(123)).unwrap(),
ScubaValue::Int(123)
);
assert_eq!(
ScubaValue::try_from(json!(-123)).unwrap(),
ScubaValue::Int(-123)
);
assert_eq!(
ScubaValue::try_from(json!(1.5)).unwrap(),
ScubaValue::Double(1.5)
);
assert_eq!(
ScubaValue::try_from(json!([])).unwrap(),
ScubaValue::NormVector(vec![])
);
assert_eq!(
ScubaValue::try_from(json!(["b", "", "a"])).unwrap(),
ScubaValue::NormVector(vec!["b".to_string(), "".to_string(), "a".to_string()])
);
assert!(ScubaValue::try_from(json!({})).is_err());
assert!(ScubaValue::try_from(json!(null)).is_err());
assert!(ScubaValue::try_from(json!([null])).is_err());
}