ucg/integration_tests/modules_test.ucg

59 lines
1.1 KiB
Plaintext
Raw Normal View History

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 |
simple_mod_instance.value == "value";
|;
let simple_mod_with_args = test_simple_mod{arg = "othervalue"};
assert |
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 |
embedded_default_params.embedded.value == "None";
|;
assert |
embedded_default_params.env_name == "qa";
|;
let embedded_with_params = embedded_mod{deep_value = "Some"};
assert |
embedded_with_params.embedded.value == "Some";
2019-01-05 13:03:57 -06:00
|;
assert |
embedded_mod{dep_value="Some"}.embedded_def{}.value == "None";
|;