<!--
  ~ Copyright 2015 Open Networking Laboratory
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~     http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->
<scenario name="foo" description="Test Scenario" logDir="/tmp/junit-stc/foo">
    <import file="/tmp/junit-stc/one-scenario.xml" namespace="foo"/>

    <import file="/tmp/junit-stc/two-scenario.xml"/>

    <dependency name="dude" requires="-yolo"/>

    <step name="yo" exec="some-command ${HOME} and ${prop.foo} args" if="${prop.foo}"/>
    <step name="hi" exec="some-command ${prop.bar} or ${HOME} other args"/>
    <step name="there" exec="another-command" requires="yo,hi"/>

    <step name="maybe" exec="another-command" requires="-hi" unless="${prop.foo}"/>

    <group name="alpha" exec="same-command args" requires="yo">
        <step name="one" exec="asdads"/>
        <step name="two" exec="asdads"/>
        <group name="three" exec="asdads" requires="one,two">
            <step name="three.a"/>
            <step name="three.b" requires="three.a"/>
            <step name="three.c" requires="three.b"/>
        </group>
    </group>

    <dependency name="maybe" requires="yo"/>

    <parallel var="${OC#}" requires="alpha">
        <step name="ping-${#}" exec="asdads ${OC#}"/>
        <step name="pong-${#}" exec="asdads"/>
        <step name="ding-${#}" exec="asdads" requires="ping-${#},pong-${#}"/>
        <dependency name="maybe" requires="ding-${#}"/>
    </parallel>
</scenario>