diff options
| author | Joakim Hulthe <joakim.hulthe@mullvad.net> | 2025-10-16 11:48:24 +0200 |
|---|---|---|
| committer | Joakim Hulthe <joakim.hulthe@mullvad.net> | 2025-10-24 13:54:16 +0200 |
| commit | fd0a265b043d96efe0bca672cbf40562b4a942e9 (patch) | |
| tree | 5783705bb04d2bc905a388fd403ee23d5edeba65 | |
| parent | abf33817683b86e4f00cf6ff41d258d624ee55c1 (diff) | |
| download | mullvadvpn-fd0a265b043d96efe0bca672cbf40562b4a942e9.tar.xz mullvadvpn-fd0a265b043d96efe0bca672cbf40562b4a942e9.zip | |
Add serialization tests for Rollout
| -rw-r--r-- | mullvad-update/src/version.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/mullvad-update/src/version.rs b/mullvad-update/src/version.rs index b350bdf452..46e7489f67 100644 --- a/mullvad-update/src/version.rs +++ b/mullvad-update/src/version.rs @@ -387,15 +387,38 @@ mod test { Ok(()) } + const GOOD_ROLLOUT_EXAMPLES: &[f32] = &[ + -0.0, + 0.0, + -0.0 + f32::EPSILON, + 1.0, + 1.0 - 0.0, + 1.0 - f32::EPSILON, + 1.0 / 3.0, + ]; + const BAD_ROLLOUT_EXAMPLES: &[f32] = &[ -f32::EPSILON, 1.0 + f32::EPSILON, f32::NAN, f32::INFINITY, f32::NEG_INFINITY, + 100.0, ]; #[test] + fn test_rollout_serialization() { + for &valid_rollout in GOOD_ROLLOUT_EXAMPLES { + let serialized_f32 = serde_json::to_string(&valid_rollout).unwrap(); + let deserialized_rollout: Rollout = serde_json::from_str(&serialized_f32).unwrap(); + let serialized_rollout = serde_json::to_string(&deserialized_rollout).unwrap(); + + assert_eq!(deserialized_rollout.0, valid_rollout); + assert_eq!(serialized_rollout, serialized_f32); + } + } + + #[test] fn test_rollout_deserialize_bad() { for &bad_rollout in BAD_ROLLOUT_EXAMPLES { let rollout_str = bad_rollout.to_string(); |
