use frame_core::component::ComponentId;
#[test]
fn identity_is_stable_across_version_and_bytecode_and_parses_only_fixed_hex()
-> Result<(), Box<dyn std::error::Error>> {
let identity = ComponentId::derive("canonical.publisher", "contacts");
let display = identity.to_string();
assert_eq!(display.len(), 64);
assert_eq!(display.parse::<ComponentId>()?, identity);
assert!("00".parse::<ComponentId>().is_err());
assert!(
format!("{}z", &display[..63])
.parse::<ComponentId>()
.is_err()
);
assert_eq!(
ComponentId::derive("canonical.publisher", "contacts"),
identity,
"version and bytecode are not identity inputs"
);
Ok(())
}