wslplugins_rs/user_distribution_id/
uuid_impl.rs1use super::UserDistributionID;
2use uuid::Uuid;
3
4impl From<UserDistributionID> for Uuid {
5 #[inline]
6 fn from(value: UserDistributionID) -> Self {
7 Self::from_u128(value.0.to_u128())
8 }
9}
10
11impl From<Uuid> for UserDistributionID {
12 #[inline]
13 fn from(value: Uuid) -> Self {
14 Self(windows_core::GUID::from_u128(value.as_u128()))
15 }
16}
17
18#[cfg(test)]
19mod tests {
20 use super::*;
21 use proptest::prelude::*;
22 use uuid::{fmt::Hyphenated, Uuid};
23 proptest! {
24 #[test]
25 fn test_uuid_user_distribution_id_conversion(int_value in any::<u128>()) {
26 let guid = windows_core::GUID::from_u128(int_value);
27 let user_dist_id: UserDistributionID = guid.into();
28 let converted_uuid: Uuid = user_dist_id.into();
29 prop_assert_eq!(format!("{:}", user_dist_id), format!("{:X}", Hyphenated::from(converted_uuid)));
30 prop_assert_eq!(format!("{:X}", user_dist_id), format!("{:X}", Hyphenated::from(converted_uuid)));
31 prop_assert_eq!(format!("{:x}", user_dist_id), format!("{:x}", Hyphenated::from(converted_uuid)));
32 }
33 }
34}