%description:
Verify pattern assignment of channel parameters.

%file: test.ned

import testlib.Dump;

channel C extends ned.DatarateChannel {}

module Node
{
    gates:
        inout g[];
    connections allowunconnected:
}

network Test
{
    parameters:
        *.g$o[*].green.delay = 2ms;
        **.delay = 3ms;  // should apply to "blue", the only one left unset at this point
    submodules:
        a: Node;
        b: Node;
        dump: Dump;
    connections:
        a.g++ <--> red: C {delay=1ms;} <--> b.g++;
        a.g++ <--> green: C <--> b.g++;
        a.g++ <--> blue: C <--> b.g++;
}

%contains: stdout
module Test: Test {
    parameters:
        @isNetwork
    submodules:
        module Test.a: Node {
            gates:
                g$i[0]: <-- b.g$o[0], (C)red disabled=false delay=0.001s datarate=0bps ber=0 per=0
                g$i[1]: <-- b.g$o[1], (C)green disabled=false delay=0.002s datarate=0bps ber=0 per=0
                g$i[2]: <-- b.g$o[2], (C)blue disabled=false delay=0.003s datarate=0bps ber=0 per=0
                g$o[0]: --> b.g$i[0], (C)red disabled=false delay=0.001s datarate=0bps ber=0 per=0
                g$o[1]: --> b.g$i[1], (C)green disabled=false delay=0.002s datarate=0bps ber=0 per=0
                g$o[2]: --> b.g$i[2], (C)blue disabled=false delay=0.003s datarate=0bps ber=0 per=0
        }
        module Test.b: Node {
            gates:
                g$i[0]: <-- a.g$o[0], (C)red disabled=false delay=0.001s datarate=0bps ber=0 per=0
                g$i[1]: <-- a.g$o[1], (C)green disabled=false delay=0.002s datarate=0bps ber=0 per=0
                g$i[2]: <-- a.g$o[2], (C)blue disabled=false delay=0.003s datarate=0bps ber=0 per=0
                g$o[0]: --> a.g$i[0], (C)red disabled=false delay=0.001s datarate=0bps ber=0 per=0
                g$o[1]: --> a.g$i[1], (C)green disabled=false delay=0.002s datarate=0bps ber=0 per=0
                g$o[2]: --> a.g$i[2], (C)blue disabled=false delay=0.003s datarate=0bps ber=0 per=0
        }
}