public void ArgumentBasicArgumentTypeIsNotMultiple() { IArgument <BasicOptions, bool> argument = ArgumentParser.Create("app").CreateArgumentCatagory <BasicOptions>().WithArgument(x => x.Boolean); Assert.False(argument.IsMultiple); }
public void ArgumentMultiArgumentTypeIsMultiple() { IArgument <MultiOptions, string> argument = ArgumentParser.Create("app").CreateArgumentCatagory <MultiOptions>().WithMultiArgument(x => x.String); Assert.True(argument.IsMultiple); }
public void ArgumentGetCatagoryReturnsCatagory() { IArgument <BasicOptions, bool> argument = ArgumentParser.Create("app").CreateArgumentCatagory <BasicOptions>().WithArgument(x => x.Boolean); Assert.IsType <BasicOptions>(argument.GetArgumentCatagory <BasicOptions>()); }
public void ArgumentGetCatagoryNotNull() { IArgument <BasicOptions, bool> argument = ArgumentParser.Create("app").CreateArgumentCatagory <BasicOptions>().WithArgument(x => x.Boolean); Assert.NotNull(argument.GetArgumentCatagory <BasicOptions>()); }
public void ArgumentRequiredMethodsSetsArgumentToRequired() { IArgument <BasicOptions, bool> argument = ArgumentParser.Create("app").CreateArgumentCatagory <BasicOptions>().WithArgument(x => x.Boolean).Required(); Assert.True(argument.IsRequired); }
public void ArgumentWithArgumentReturnsANewArgument() { IArgument <BasicOptions, bool> argument = ArgumentParser.Create("app").CreateArgumentCatagory <BasicOptions>().WithArgument(x => x.Boolean); Assert.NotSame(argument, argument.WithArgument(x => x.Byte)); }
public void ArgumentFlagMethodDissallowedFlagsShouldThrowArgumentException(char flag) { IArgument <NameOptions, bool> argument = ArgumentParser.Create("app").CreateArgumentCatagory <NameOptions>().WithArgument(x => x.PascalCaseProperty); Assert.Throws <ArgumentException>(() => argument.Flag(flag)); }
public void ArgumentFlagMethodAllowedNames(char flag) { IArgument <NameOptions, bool> argument = ArgumentParser.Create("app").CreateArgumentCatagory <NameOptions>().WithArgument(x => x.PascalCaseProperty).Flag(flag); Assert.Equal(flag, argument.ArgumentFlag); }
public void ArgumentNameMethodDissallowedNamesShouldThrowArgumentException(string argumentName) { IArgument <NameOptions, bool> argument = ArgumentParser.Create("app").CreateArgumentCatagory <NameOptions>().WithArgument(x => x.PascalCaseProperty); Assert.Throws <ArgumentException>(() => argument.Name(argumentName)); }
public void ArgumentNameMethodAllowedNames(string argumentName) { IArgument <NameOptions, bool> argument = ArgumentParser.Create("app").CreateArgumentCatagory <NameOptions>().WithArgument(x => x.PascalCaseProperty).Name(argumentName); Assert.Equal(argumentName, argument.ArgumentName); }
public void ArgumentParserGetParameterCatagoryIsSameTypeAs_TOptions() { ArgumentParser parser = ArgumentParser.Create("app"); parser.CreateParameterCatagory <NoOptions>(); Assert.IsType <NoOptions>(parser.GetParameterCatagory <NoOptions>()); }