test rmp_serde
This commit is contained in:
Generated
+35
@@ -14,6 +14,12 @@ version = "0.7.6"
|
|||||||
source = "sparse+https://git.aleshym.co/api/packages/Quaternions/cargo/"
|
source = "sparse+https://git.aleshym.co/api/packages/Quaternions/cargo/"
|
||||||
checksum = "813440870d646c57c222c1d713dc4e3ddcb2919c3801564d767d85d7bf2afee4"
|
checksum = "813440870d646c57c222c1d713dc4e3ddcb2919c3801564d767d85d7bf2afee4"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "autocfg"
|
||||||
|
version = "1.5.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bitflags"
|
name = "bitflags"
|
||||||
version = "2.11.1"
|
version = "2.11.1"
|
||||||
@@ -152,6 +158,7 @@ dependencies = [
|
|||||||
"card_game",
|
"card_game",
|
||||||
"klondike",
|
"klondike",
|
||||||
"rand",
|
"rand",
|
||||||
|
"rmp-serde",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
]
|
]
|
||||||
@@ -180,6 +187,15 @@ version = "2.8.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
|
checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "num-traits"
|
||||||
|
version = "0.2.19"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
|
||||||
|
dependencies = [
|
||||||
|
"autocfg",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "prettyplease"
|
name = "prettyplease"
|
||||||
version = "0.2.37"
|
version = "0.2.37"
|
||||||
@@ -231,6 +247,25 @@ version = "0.10.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69"
|
checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rmp"
|
||||||
|
version = "0.8.15"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "4ba8be72d372b2c9b35542551678538b562e7cf86c3315773cae48dfbfe7790c"
|
||||||
|
dependencies = [
|
||||||
|
"num-traits",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rmp-serde"
|
||||||
|
version = "1.3.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "72f81bee8c8ef9b577d1681a70ebbc962c232461e397b22c208c43c04b67a155"
|
||||||
|
dependencies = [
|
||||||
|
"rmp",
|
||||||
|
"serde",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "semver"
|
name = "semver"
|
||||||
version = "1.0.28"
|
version = "1.0.28"
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ klondike.workspace = true
|
|||||||
rand = { version = "0.10.1", default-features = false, features = ["thread_rng"] }
|
rand = { version = "0.10.1", default-features = false, features = ["thread_rng"] }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
|
rmp-serde = "1.3.1"
|
||||||
serde = { version = "1.0.228", default-features = false }
|
serde = { version = "1.0.228", default-features = false }
|
||||||
serde_json = "1.0.149"
|
serde_json = "1.0.149"
|
||||||
|
|
||||||
|
|||||||
@@ -30,3 +30,19 @@ fn test_json() {
|
|||||||
let serialized2 = serde_json::to_string(&round_trip_session).unwrap();
|
let serialized2 = serde_json::to_string(&round_trip_session).unwrap();
|
||||||
assert_eq!(serialized, serialized2);
|
assert_eq!(serialized, serialized2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_rmp() {
|
||||||
|
let mut session = Session::new_default(Klondike::with_seed(124));
|
||||||
|
let solution_result = session.solve();
|
||||||
|
if let Ok(Some(solution)) = solution_result {
|
||||||
|
for snapshot in solution.clean_solution() {
|
||||||
|
session.process_instruction(snapshot.instruction().clone());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let serialized = rmp_serde::to_vec(&session).unwrap();
|
||||||
|
println!("serialized.len() = {}", serialized.len());
|
||||||
|
let round_trip_session: Session<Klondike> = rmp_serde::from_slice(&serialized).unwrap();
|
||||||
|
let serialized2 = rmp_serde::to_vec(&round_trip_session).unwrap();
|
||||||
|
assert_eq!(serialized, serialized2);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user