snapshot tests

This commit is contained in:
2026-06-09 09:57:27 -07:00
parent f58e56ade9
commit 12e57cb33d
6 changed files with 122 additions and 2 deletions
+1
View File
@@ -10,6 +10,7 @@ serde = { version = "1.0.228", default-features = false, optional = true }
serde_derive = { version = "1.0.228", default-features = false, optional = true }
[dev-dependencies]
insta = "1.47.2"
rmp-serde = "1.3.1"
serde = { version = "1.0.228", default-features = false }
serde_json = "1.0.149"
@@ -0,0 +1,5 @@
---
source: klondike/src/test.rs
expression: serialized
---
{"config":{"inner":{"draw_stock":"DrawOne","move_from_foundation":"Allowed","scoring":{"move_to_foundation":10,"flip_up_bonus":5,"move_to_tableau":5,"move_from_foundation":-15,"recycle":0}},"undo_penalty":-15,"solve_moves_budget":100000,"solve_states_budget":100000},"state":{"stock":{"face_down":[52,51,21,59,36,45,49,50,22,3,58,39,41,61,13,57,34,56,28,1,19,12,17,5],"face_up":[]},"foundations":[[],[],[],[]],"tableau1":{"face_down":[],"face_up":[40]},"tableau2":{"face_down":[9],"face_up":[4]},"tableau3":{"face_down":[35,8],"face_up":[60]},"tableau4":{"face_down":[11,27,44],"face_up":[25]},"tableau5":{"face_down":[6,7,23,18],"face_up":[29]},"tableau6":{"face_down":[2,55,10,42,24],"face_up":[54]},"tableau7":{"face_down":[26,43,38,53,37,33],"face_up":[20]}},"history":[336,100,720,619,606,6,720,19,16,388,497,580,388,720,139,720,19,720,17,31,720,720,720,7,720,720,523,458,720,720,720,720,720,720,720,720,43,43,720,720,720,139,720,19,720,43,720,43,720,720,720,720,720,720,720,720,720,623,619,720,720,720,720,720,720,720,720,720,720,693,281,333,253,209,113,87,720,720,720,720,720,720,720,720,75,223,619,533,74,2,720,116,331,279,279,305,305,29,25,24,12,37,25,222,24,42,126,471,720,720,720,362,292,331,253,720,19,720,183,151,12,67,336,61,93,235,720,7,2,0,7,38,26,14,27,15,26,36,0,7,3,6,18,43,36,24,12,0,1,19,38,26,39,27,15,38,26,36]}
@@ -0,0 +1,6 @@
---
source: klondike/src/test.rs
expression: serialized
extension: bin
snapshot_kind: binary
---
+5 -2
View File
@@ -1,5 +1,5 @@
use card_game::Session;
use crate::Klondike;
use card_game::Session;
#[test]
fn test_is_winnable() {
@@ -16,7 +16,6 @@ fn test_is_winnable() {
}
}
#[cfg(feature = "serde")]
#[test]
fn test_json() {
@@ -32,6 +31,8 @@ fn test_json() {
let round_trip_session: Session<Klondike> = serde_json::from_str(&serialized).unwrap();
let serialized2 = serde_json::to_string(&round_trip_session).unwrap();
assert_eq!(serialized, serialized2);
insta::assert_snapshot!(serialized);
}
#[cfg(feature = "serde")]
@@ -49,4 +50,6 @@ fn test_rmp() {
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);
insta::assert_binary_snapshot!("save_rmp.bin", serialized);
}