use serde::{Deserialize, Serialize};
use crate::vec_map::VecMap;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
#[serde(transparent)]
pub struct SkinStore(VecMap<String, String>);
#[test]
fn test_skin_serde() {
let skin = SkinStore(
[
("head", "head_mesh"),
("body", "body_mesh"),
("arm", "arm_mesh"),
]
.into_iter()
.map(|(k, v)| (k.to_string(), v.to_string()))
.collect(),
);
let json = serde_json::to_string(&skin).unwrap();
assert_eq!(
json,
r#"{"head":"head_mesh","body":"body_mesh","arm":"arm_mesh"}"#
);
let deserialized_skin: SkinStore = serde_json::from_str(&json).unwrap();
assert_eq!(skin, deserialized_skin);
}