public void ParsingNullString_ThrowsError() { //******** GIVEN var test = new VerbDefinitionAttribute("copy", "Copy all files from source to output fodler"); var parser = new VerbParser(Verb.FromAttribute(test).OnTargetProperty(typeof(CopyArguments))); //******** WHEN var parsed = parser.Parse(""); }
public void ParsingDifferentVerb_ThrowsException() { //************* GIVEN var test = new VerbDefinitionAttribute("copy", "Copy all files from source to output fodler"); var parser = new VerbParser(Verb.FromAttribute(test).OnTargetProperty(typeof(CopyArguments))); //************* WHEN parser.Parse("del"); //************* ASSERT }
public void ParsingVerbStartingWithMinus_DoesNotThrowException() { //************* GIVEN var test = new VerbDefinitionAttribute("copy", "Copy all files from source to output fodler"); var parser = new VerbParser(Verb.FromAttribute(test).OnTargetProperty(typeof(CopyArguments))); //************* WHEN var value = parser.Parse("-copy"); //************* ASSERT Assert.IsNotNull(value); }
public void ParsingVerbStartingWithMinus_ReturnsKeyIsValid() { //******** GIVEN var test = new VerbDefinitionAttribute("copy", "Copy all files from source to output fodler"); var parser = new VerbParser(Verb.FromAttribute(test).OnTargetProperty(typeof(CopyArguments))); //******** WHEN string errorMessage; var parsed = parser.IsKeyValid("-copy", out errorMessage); //******** ASSERT Assert.IsTrue(parsed); }
public void ParsingVerbWithoutArguments_ReturnsThatClass() { //******** GIVEN var test = new VerbDefinitionAttribute("copy", "Copy all files from source to output fodler"); var parser = new VerbParser(Verb.FromAttribute(test).OnTargetProperty(typeof(CopyArguments))); //******** WHEN var parsed = parser.Parse("-copy"); //******** ASSERT Assert.IsNotNull(parsed); Assert.IsInstanceOfType(parsed, typeof(CopyArguments)); }
public void ParsingVerbWithMandatoryArgument_ReturnsThatFilledProperty() { //************* GIVEN VerbDefinitionAttribute test = typeof(CopyFilesWith1MandatoryOption).GetCustomAttributes(typeof(VerbDefinitionAttribute), true).First() as VerbDefinitionAttribute; var verbModel = Verb.FromAttribute(test).OnTargetProperty(typeof(CopyFilesWith1MandatoryOption)); verbModel.AddOptionFromAttribute(new OptionDefinitionAttribute("src", "source", "source folder to use to copy files", mandatory: true), typeof(string)); var parser = new VerbParser(verbModel); //************* WHEN var value = parser.Parse(@"-copy2 --src='C:\Temp\My Folder\TTT'"); //************* ASSERT Assert.IsNotNull(value); Assert.IsInstanceOfType(value, typeof(CopyFilesWith1MandatoryOption)); CopyFilesWith1MandatoryOption verb = (CopyFilesWith1MandatoryOption)value; Assert.AreEqual(@"'C:\Temp\My Folder\TTT'", verb.SrcFolder); }