private static void AssertNamed(CliOptions pOptions, string pPattern) { Description desc = DescriptionFactory.Parse(pOptions, new MockHelpProvider(), pPattern); Assert.AreEqual(eROLE.NAMED, desc.Role); AssertTypes(pOptions, pPattern); }
private static void AssertMultiple(CliOptions pOptions, string pPattern) { Description desc = DescriptionFactory.Parse(pOptions, new MockHelpProvider(), pPattern); Assert.AreEqual(eMULTIPLICITY.MULTIPLE, desc.Multiplicity); AssertOptional(pOptions, "[" + pPattern + "]"); }
private static void AssertType <T>(CliOptions pOptions, string pPattern) { Description desc = DescriptionFactory.Parse(pOptions, new MockHelpProvider(), pPattern); Assert.IsNotNull(desc.Type); Assert.IsTrue(desc.Type is T); AssertMultiple(pOptions, pPattern + "#"); AssertOptional(pOptions, "[" + pPattern + "]"); }
private static void AssertParsable(CliOptions pOptions, string pName) { Description desc = DescriptionFactory.Parse(pOptions, new MockHelpProvider(), pName); Assert.AreEqual(pName, desc.Name); Assert.AreEqual(eSCOPE.REQUIRED, desc.Scope); Assert.AreEqual(eMULTIPLICITY.ONCE, desc.Multiplicity); AssertPassed(pOptions, pName); AssertNamed(pOptions, pOptions.Prefix + pName); }
public void Parse_1() { string[] invalidStrings = { "/debug#", "", "/", "[]", "[/debug", "/debug]", "/debug:xxxx", "xxx:xxx", "[:xxx]", ":", "23473", "1abc" }; foreach (string invalid in invalidStrings) { try { Description desc = DescriptionFactory.Parse(CliOptions.WindowsStyle, new MockHelpProvider(), invalid); Assert.Fail("Expected SyntaxErrorException for {0}", invalid); } catch (SyntaxErrorException) { } } }
private static void AssertOptional(CliOptions pOptions, string pPattern) { Description desc = DescriptionFactory.Parse(pOptions, new MockHelpProvider(), pPattern); Assert.AreEqual(eSCOPE.OPTIONAL, desc.Scope); }