%description:
Test overriding the default display string in submodules.

Cases during display string merging:
 add tag
 add tagarg
 set (overwrite) tagarg
 delete (unset) tagarg


%file: test.ned

import testlib.Dump;

network Test {
  types:
    module Base {
        @display("aa=aaa1,aaa2,,aaa4;bb=bbb1,bbb2");
    }
  submodules:
    dump: Dump;
    base : Base;
    addTag : Base {
        @display("cc=CCC1,,CCC3");  // add
    }
    addTagArg : Base {
        @display("aa=,,,,AAA5,AAA6;bb=,,BBB3");  // add tagarg
    }
    overwrite : Base {
        @display("aa=AAA1,,,AAA4;bb=,BBB2");  // overwrite tagarg
    }
    unset : Base {
        @display("aa=,-;bb=-,-");  // delete tagarg
    }
}


%contains: stdout
module Test: Test {
    parameters:
        @isNetwork
    submodules:
        module Test.base: Test.Base {
            parameters:
                @display(aa=aaa1,aaa2,,aaa4;bb=bbb1,bbb2)
        }
        module Test.addTag: Test.Base {
            parameters:
                @display(cc=CCC1,,CCC3;aa=aaa1,aaa2,,aaa4;bb=bbb1,bbb2)
        }
        module Test.addTagArg: Test.Base {
            parameters:
                @display(aa=aaa1,aaa2,,aaa4,AAA5,AAA6;bb=bbb1,bbb2,BBB3)
        }
        module Test.overwrite: Test.Base {
            parameters:
                @display(aa=AAA1,aaa2,,AAA4;bb=bbb1,BBB2)
        }
        module Test.unset: Test.Base {
            parameters:
                @display(aa=aaa1,,,aaa4)
        }
}