daml-derive 0.2.0

Daml Ledger Procedural Macro
Documentation
use crate::common::test_utils::TestResult;
use daml::grpc_api::data::value::DamlValue;
use daml::grpc_api::serialize::{DamlDeserializeInto, DamlSerializeFrom};
use daml_derive::daml_codegen;

daml_codegen!(
    dar_file = r"resources/testing_types_sandbox/TestingTypes-latest.dar",
    module_filter_regex = "Fuji.NestedModuleTest"
);

#[tokio::test]
async fn test_nested_module() -> TestResult {
    use testing_types::fuji::nested_module_test::parent::child::ChildData;
    use testing_types::fuji::nested_module_test::parent::ParentData;
    use testing_types::fuji::nested_module_test::sibling::SiblingData;
    let sibling = SiblingData::new(ParentData::new(ChildData::new("test")));
    let value = DamlValue::serialize_from(sibling.clone());
    let sibling_again: SiblingData = value.deserialize_into()?;
    assert_eq!(sibling, sibling_again);
    Ok(())
}