2018-11-23 12:50:47 -06:00
|
|
|
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",
|
2018-11-23 13:12:30 -06:00
|
|
|
env = "None",
|
2018-11-23 12:50:47 -06:00
|
|
|
} => {
|
2018-11-26 20:22:37 -06:00
|
|
|
let env_name = select mod.env, "qa", {
|
2018-11-23 13:12:30 -06:00
|
|
|
None = "qa",
|
|
|
|
prod = "prod",
|
|
|
|
qa = "qa",
|
|
|
|
uat = "uat",
|
|
|
|
};
|
2018-11-23 12:50:47 -06:00
|
|
|
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";
|
|
|
|
|;
|
|
|
|
|
2018-11-23 13:12:30 -06:00
|
|
|
assert |
|
2018-11-26 20:22:37 -06:00
|
|
|
embedded_default_params.env_name == "qa";
|
2018-11-23 13:12:30 -06:00
|
|
|
|;
|
|
|
|
|
2018-11-23 12:50:47 -06:00
|
|
|
let embedded_with_params = embedded_mod{deep_value = "Some"};
|
|
|
|
|
|
|
|
assert |
|
|
|
|
embedded_with_params.embedded.value == "Some";
|
|
|
|
|;
|