<?xml version="1.0" encoding="utf-8"?>
<Model>
  <!--ANIMAL-->
  <Command Name="animal" IsBranch="true" Settings="Spectre.Console.Tests.Data.AnimalSettings">
    <Parameters>
      <Argument Name="LEGS" Position="0" Required="false" Kind="scalar" ClrType="System.Int32">
        <Description>The number of legs.</Description>
        <Validators>
          <Validator ClrType="Spectre.Console.Tests.Data.EvenNumberValidatorAttribute" Message="Animals must have an even number of legs." />
          <Validator ClrType="Spectre.Console.Tests.Data.PositiveNumberValidatorAttribute" Message="Number of legs must be greater than 0." />
        </Validators>
      </Argument>
      <Option Short="a" Long="alive,not-dead" Value="NULL" Required="false" Kind="flag" ClrType="System.Boolean">
        <Description>Indicates whether or not the animal is alive.</Description>
      </Option>
    </Parameters>
    <!--DOG-->
    <Command Name="dog" IsBranch="false" ClrType="Spectre.Console.Tests.Data.DogCommand" Settings="Spectre.Console.Tests.Data.DogSettings">
      <Parameters>
        <Argument Name="AGE" Position="0" Required="true" Kind="scalar" ClrType="System.Int32" />
        <Option Short="g" Long="good-boy" Value="NULL" Required="false" Kind="flag" ClrType="System.Boolean" />
        <Option Short="n,p" Long="name,pet-name" Value="VALUE" Required="false" Kind="scalar" ClrType="System.String" />
      </Parameters>
    </Command>
    <!--HORSE-->
    <Command Name="horse" IsBranch="false" ClrType="Spectre.Console.Tests.Data.HorseCommand" Settings="Spectre.Console.Tests.Data.HorseSettings">
      <Parameters>
        <Option Short="d" Long="day" Value="NULL" Required="false" Kind="scalar" ClrType="System.DayOfWeek" />
        <Option Short="n,p" Long="name,pet-name" Value="VALUE" Required="false" Kind="scalar" ClrType="System.String" />
      </Parameters>
    </Command>
  </Command>
</Model>