summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mullvad-update/src/version.rs23
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();