public void Parsing_Properties_And_Flags()
        {
            var args = new ConsoleArguments();

            args.Parse(new[]
            {
                "/item1:value1",
                "-flag1",
                "/item 2:value2",
                "-flag 2",
                "/ ITEM 3 :value3",
                "- FLAG 3"
            });

            args.Names.Should().BeEquivalentTo("item1", "flag1", "item2", "flag2", "ITEM3", "FLAG3");
            args.GetValue("Item 1").Should().Be("value1");
            args.GetValue("Item 2").Should().Be("value2");
            args.GetValue("Item 3").Should().Be("value3");
            args.GetValue("Item 4").Should().BeNull();
            args.GetValue("Flag 1").Should().Be("True");
            args.GetValue("Flag 2").Should().Be("True");
            args.GetValue("Flag 3").Should().Be("True");
            args.GetValue("Flag 4").Should().BeNull();

            args.Parse(new[]
            {
                "/myname:Oleg",
                "/myAge:33",
                "- DEBUG"
            });

            args.Get <string>("MyName").Should().Be("Oleg");
            args.IsNull("MyName").Should().BeFalse();
            args.Get <int>("MyAge").Should().Be(33);
            args.IsNull("MyAge").Should().BeFalse();
            args.Get("MyTimeout", TimeSpan.Zero).Should().Be(TimeSpan.Zero);
            args.IsNull("MyTimeout").Should().BeTrue();
            args.Get <bool>("Debug").Should().BeTrue();
            args.IsNull("Debug").Should().BeFalse();
            args.Get("Release", false).Should().BeFalse();
            args.IsNull("Release").Should().BeTrue();
        }
		public void Parsing_Properties_And_Flags()
		{
			var args = new ConsoleArguments();
			args.Parse(new[]
			{
				"/item1:value1",
				"-flag1",
				"/item 2:value2",
				"-flag 2",
				"/ ITEM 3 :value3",
				"- FLAG 3"
			});

			args.Names.Should().BeEquivalentTo("item1", "flag1", "item2", "flag2", "ITEM3", "FLAG3");
			args.GetValue("Item 1").Should().Be("value1");
			args.GetValue("Item 2").Should().Be("value2");
			args.GetValue("Item 3").Should().Be("value3");
			args.GetValue("Item 4").Should().BeNull();
			args.GetValue("Flag 1").Should().Be("True");
			args.GetValue("Flag 2").Should().Be("True");
			args.GetValue("Flag 3").Should().Be("True");
			args.GetValue("Flag 4").Should().BeNull();

			args.Parse(new[]
			{
				"/myname:Oleg",
				"/myAge:33",
				"- DEBUG"
			});

			args.Get<string>("MyName").Should().Be("Oleg");
			args.IsNull("MyName").Should().BeFalse();
			args.Get<int>("MyAge").Should().Be(33);
			args.IsNull("MyAge").Should().BeFalse();
			args.Get("MyTimeout", TimeSpan.Zero).Should().Be(TimeSpan.Zero);
			args.IsNull("MyTimeout").Should().BeTrue();
			args.Get<bool>("Debug").Should().BeTrue();
			args.IsNull("Debug").Should().BeFalse();
			args.Get("Release", false).Should().BeFalse();
			args.IsNull("Release").Should().BeTrue();
		}