let test_empty_mod = module { } => { }; let empty_mod_instance = test_empty_mod{}; let test_simple_mod = module { arg = "value", } => { let value = mod.arg; }; let simple_mod_instance = test_simple_mod{}; assert { ok = simple_mod_instance.value == "value", desc = "simple_mod_instance.value == \"value\"", }; let simple_mod_with_args = test_simple_mod{arg = "othervalue"}; assert { ok = simple_mod_with_args.value == "othervalue", desc = "simple_mod_with_args.value == \"othervalue\"", }; let embedded_mod = module { deep_value = "None", environ = "None", } => { let env_name = select mod.environ, "qa", { None = "qa", prod = "prod", qa = "qa", uat = "uat", }; let embedded_def = module { deep_value = "None", } => { let value = mod.deep_value; }; let embedded = embedded_def{deep_value = mod.deep_value}; }; let embedded_default_params = embedded_mod{}; assert { ok = embedded_default_params.embedded.value == "None", desc = "embedded_default_params.embedded.value == \"None\"", }; assert { ok = embedded_default_params.env_name == "qa", desc = "embedded_default_params.env_name == \"qa\"", }; let embedded_with_params = embedded_mod{deep_value = "Some"}; assert { ok = embedded_with_params.embedded.value == "Some", desc = "embedded_with_params.embedded.value == \"Some\"", }; assert { ok = embedded_mod{dep_value="Some"}.embedded_def{}.value == "None", desc = "embedded_mod{dep_value=\"Some\"}.embedded_def{}.value == \"None\"", };