source [expr {[info exists ::env(TESTS_DIR)] ? "$env(TESTS_DIR)/interactive/ly.tcl" : "ly.tcl"}]

set ddir "$::env(TESTS_DIR)/data"

test data_present_via_mandatory {validation of mandatory-stmt will pass only with the --present} {
-setup $ly_setup -cleanup $ly_cleanup -body {
    ly_cmd "load modleaf modmandatory"
    ly_cmd_err "data $ddir/modleaf.xml" "Mandatory node \"lft\" instance does not exist."
    ly_cmd "data -e $ddir/modleaf.xml"
}}

test data_present_merge {validation with --present and --merge} {
-setup $ly_setup -cleanup $ly_cleanup -body {
    ly_cmd "load modleaf modmandatory moddefault"
    ly_cmd_err "data -m $ddir/modleaf.xml $ddir/moddefault.xml" "Mandatory node \"lft\" instance does not exist."
    ly_cmd "data -e -m $ddir/modleaf.xml $ddir/moddefault.xml"
}}

test data_present_merge_invalid {using --present and --merge but data are invalid} {
-setup $ly_setup -cleanup $ly_cleanup -body {
    ly_cmd "load modleaf modmandatory"
    ly_cmd_err "data -e -m $ddir/modleaf.xml $ddir/modmandatory_invalid.xml" "Mandatory node \"lft\" instance does not exist."
}}

cleanupTests