use alpine_protocol_sdk::AlpineSdkError;
#[test]
fn user_hint_snapshots() {
let cases = vec![
(
AlpineSdkError::Timeout,
"request timed out; check network reachability",
),
(
AlpineSdkError::DiscoveryFailed("x".into()),
"discovery failed; confirm the device is on the same network",
),
(
AlpineSdkError::HandshakeFailed("x".into()),
"handshake failed; verify credentials and device time",
),
(
AlpineSdkError::UntrustedDevice("x".into()),
"device identity not trusted; verify trust bundle",
),
(
AlpineSdkError::DangerousControlDisallowed,
"dangerous control blocked; enable allow_dangerous to proceed",
),
(
AlpineSdkError::VendorExtensionNotRegistered("x".into()),
"vendor extension not registered; register before use",
),
(
AlpineSdkError::UnsupportedEnvironment("x".into()),
"environment not supported for UDP discovery/control",
),
(
AlpineSdkError::IncompatibleProtocol("x".into()),
"device protocol version is incompatible with this SDK",
),
(
AlpineSdkError::Quarantined("x".into()),
"device is quarantined; observe-only mode enforced",
),
];
for (err, expected) in cases {
assert_eq!(err.user_hint().unwrap_or_default(), expected);
}
}