public void TestPowerShellStyle() { Guid g = Guid.NewGuid(); DateTime d = DateTime.Today; var args = new string[] { "-String", "stringValue", "-i", "34", "-d", "33.33", "-b", "-byte", "255", "-g", g.ToString(), "-t", d.ToString(), "-l", long.MaxValue + "", "-li", "100,200,300", "-bytes", "10,20,30" }; BasicArgs parsed = Args.Parse <BasicArgs>(args); Assert.AreEqual("stringValue", parsed.String); Assert.AreEqual(34, parsed.Int); Assert.AreEqual(33.33, parsed.Double); Assert.AreEqual(true, parsed.Bool); Assert.AreEqual(255, parsed.Byte); Assert.AreEqual(g, parsed.Guid); Assert.AreEqual(d, parsed.Time); Assert.AreEqual(long.MaxValue, parsed.Long); Assert.AreEqual(3, parsed.List.Count); Assert.AreEqual(100, parsed.List[0]); Assert.AreEqual(200, parsed.List[1]); Assert.AreEqual(300, parsed.List[2]); Assert.AreEqual(3, parsed.ArrayOfBytes.Length); Assert.AreEqual(10, parsed.ArrayOfBytes[0]); Assert.AreEqual(20, parsed.ArrayOfBytes[1]); Assert.AreEqual(30, parsed.ArrayOfBytes[2]); }
public void TestNegativeNumber() { var args = new string[] { "-int", "-1" }; BasicArgs parsed = Args.Parse <BasicArgs>(args); Assert.AreEqual(-1, parsed.Int); }
public void TestPowerShellStyleWeak() { BasicHook.WasRun = false; Guid g = Guid.NewGuid(); DateTime d = DateTime.Today; System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); var args = new string[] { "-String", "stringValue", "-i", "34", "-d", "33.33", "-b", "-byte", "255", "-g", g.ToString(), "-t", d.ToString(), "-l", long.MaxValue + "", "-li", "100,200,300", "-bytes", "10,20,30", "-uri", "http://www.bing.com", "-ipaddress", IPAddress.Loopback.ToString() }; BasicArgs parsed = (BasicArgs)Args.Parse(typeof(BasicArgs), args); Assert.AreEqual("stringValue", parsed.String); Assert.AreEqual(34, parsed.Int); Assert.AreEqual(33.33, parsed.Double); Assert.AreEqual(true, parsed.Bool); Assert.AreEqual(255, parsed.Byte); Assert.AreEqual(g, parsed.Guid); Assert.AreEqual(d, parsed.Time); Assert.AreEqual(long.MaxValue, parsed.Long); Assert.AreEqual(3, parsed.List.Count); Assert.AreEqual(100, parsed.List[0]); Assert.AreEqual(200, parsed.List[1]); Assert.AreEqual(300, parsed.List[2]); Assert.AreEqual(3, parsed.ArrayOfBytes.Length); Assert.AreEqual(10, parsed.ArrayOfBytes[0]); Assert.AreEqual(20, parsed.ArrayOfBytes[1]); Assert.AreEqual(30, parsed.ArrayOfBytes[2]); Assert.AreEqual(new Uri("http://www.bing.com"), parsed.Uri); Assert.AreEqual(IPAddress.Loopback, parsed.IPAddress); Assert.IsTrue(BasicHook.WasRun); }
public void TestSingleElementInList() { var args = new string[] { "-li", "10" }; BasicArgs parsed = Args.Parse <BasicArgs>(args); Assert.AreEqual(1, parsed.List.Count); Assert.AreEqual(10, parsed.List[0]); }
public void TestSingleElementInArray() { var args = new string[] { "-bytes", "10" }; BasicArgs parsed = Args.Parse <BasicArgs>(args); Assert.AreEqual(1, parsed.ArrayOfBytes.Length); Assert.AreEqual(10, parsed.ArrayOfBytes[0]); }
public void TestBadValues(string shortcut, string variation) { var args = new string[] { "-s", "stringValue", "-i", "34", "-d", "33.33", "-b", "-by", "255", "-g", Guid.NewGuid().ToString(), "-t", DateTime.Today.ToString(), "-l", long.MaxValue + "", "-u", "http://www.bing.com" }; for (int i = 0; i < args.Length; i++) { if (args[i] == shortcut) { args[i + 1] = variation; break; } } try { BasicArgs parsed = Args.Parse <BasicArgs>(args); Assert.Fail("An exception should have been thrown"); } catch (ArgException ex) { Assert.IsNotNull(ex.InnerException, "Missing inner exception from revier"); Assert.IsInstanceOfType(ex.InnerException, typeof(FormatException)); Assert.IsTrue(ex.Message.Contains(variation)); } }