public void TestPowerShellStyle()
{
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 = 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]);
Assert.AreEqual(new Uri("http://www.bing.com"), parsed.Uri);
Assert.AreEqual(IPAddress.Loopback, parsed.IPAddress);
Assert.IsTrue(BasicHook.WasRun);
}