use std::convert::TryInto;
use tss_esapi::{
attributes::AlgorithmAttributes, constants::AlgorithmIdentifier, structures::AlgorithmProperty,
tss2_esys::TPMS_ALG_PROPERTY,
};
#[test]
fn test_new() {
let expected_algorithm_identifier = AlgorithmIdentifier::Rsa;
let expected_algorithm_properties = AlgorithmAttributes(0x1);
let algorithm_proprty =
AlgorithmProperty::new(expected_algorithm_identifier, expected_algorithm_properties);
assert_eq!(
expected_algorithm_identifier,
algorithm_proprty.algorithm_identifier(),
"AlgorithmProperty, created with new, did not contain expected algorithm identifier value"
);
assert_eq!(
expected_algorithm_properties,
algorithm_proprty.algorithm_properties(),
"AlgorithmProperty, created with new, did not contain expected algorithm properties value"
);
}
#[test]
fn test_conversions() {
let expected_algorithm_identifier = AlgorithmIdentifier::Rsa;
let expected_algorithm_properties = AlgorithmAttributes(0x1);
let expected_tpms_algorithm_property = TPMS_ALG_PROPERTY {
alg: expected_algorithm_identifier.into(),
algProperties: expected_algorithm_properties.into(),
};
let algorithm_property: AlgorithmProperty = expected_tpms_algorithm_property
.try_into()
.expect("Failed to convert TPMS_ALG_PROPERTY into AlgorithmProperty");
assert_eq!(
expected_algorithm_identifier,
algorithm_property.algorithm_identifier(),
"AlgorithmProperty, converted from TPMS_ALG_PROPERTY, did not contain the expected algorithm identifier value"
);
assert_eq!(
expected_algorithm_properties,
algorithm_property.algorithm_properties(),
"AlgorithmProperty, converted from TPMS_ALG_PROPERTY, did not contain the expected algorithm properties value"
);
let actual_tpms_algorithm_property: TPMS_ALG_PROPERTY = algorithm_property.into();
crate::common::ensure_tpms_alg_property_equality(
&expected_tpms_algorithm_property,
&actual_tpms_algorithm_property,
);
}