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

set mdir $::env(YANG_MODULES_DIR)
set ddir $::env(TESTS_DIR)/data

test clear_make_implemented_once {clear --make-implemented} {
-setup $ly_setup -cleanup $ly_cleanup -body {
    ly_cmd "clear -i"
    ly_cmd "add $mdir/modmust.yang"
    ly_cmd "list" "I modmust\r.*I modleaf"
}}

test clear_make_implemented_twice {clear -i -i} {
-setup $ly_setup -cleanup $ly_cleanup -body {
    ly_cmd "clear -i -i"
    ly_cmd "add $mdir/modmust.yang"
    ly_cmd "list" "I modmust\r.*I modleaf"
}}

test clear_ietf_yang_library {clear --yang-library} {
-setup $ly_setup -cleanup $ly_cleanup -body {
    # add models
    ly_cmd "clear -y"
    ly_cmd "list" "I ietf-yang-library"
}}

test clear_ylf_list {apply --yang-library-file and check result by --list} {
-setup $ly_setup -cleanup $ly_cleanup -body {
    ly_cmd "clear -Y $ddir/modimp_type_ctx.xml"
    ly_cmd "list" "I modimp-type.*i modtypedef"
}}

test clear_ylf_make_implemented {apply --yang-library-file and --make-implemented} {
-setup $ly_setup -cleanup $ly_cleanup -body {
    ly_cmd "clear -Y $ddir/modimp_type_ctx.xml -i -i"
    ly_cmd "list" "I modimp-type.*I modtypedef"
}}

test clear_ylf_augment_ctx {Setup context by yang-library-file and augment module} {
-setup $ly_setup -cleanup $ly_cleanup -body {
    ly_cmd "clear -Y $ddir/modconfig_ctx.xml"
    ly_cmd "add $mdir/modconfig-augment.yang"
    ly_cmd "print -f tree modconfig" "mca:alf"
}}

cleanupTests
