use oxcache::serialization::{json::JsonSerializer, Serializer};
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, PartialEq, Debug)]
struct TestStruct {
id: u64,
name: String,
tags: Vec<String>,
}
#[test]
fn test_json_serializer_round_trip() {
let serializer = JsonSerializer::new();
let data = TestStruct {
id: 1,
name: "test".to_string(),
tags: vec!["a".into(), "b".into()],
};
let bytes = serializer.serialize(&data).unwrap();
let deserialized: TestStruct = serializer.deserialize(&bytes).unwrap();
assert_eq!(data, deserialized);
}
#[test]
fn test_json_serializer_with_compression() {
let serializer = JsonSerializer::with_compression();
let data = TestStruct {
id: 12345,
name: "optimization_test".to_string(),
tags: vec!["rust".into(), "cache".into(), "performance".into()],
};
let bytes = serializer.serialize(&data).unwrap();
let deserialized: TestStruct = serializer.deserialize(&bytes).unwrap();
assert_eq!(data, deserialized);
}