public void FromJSON()
        {
            var json = JsonConvert.SerializeObject(new SomeClass());
            var bag  = KeyValueBinder.FromJSON(json);

            //Console.WriteLine(json);
            //Console.WriteLine(bag);
            Assert.AreEqual("Bob", bag["String"]);
        }
        public void ToStringJSON()
        {
            var someClass = new SomeClass();
            var bag       = KeyValueBinder.FromObject(someClass);
            var actual    = bag.ToString("JSON");
            var expected  = JsonConvert.SerializeObject(someClass);

            Console.WriteLine(actual);
            Console.WriteLine(expected);
            Assert.That(actual, Is.EqualTo(expected));
        }
        public void FromCommandLine()
        {
            var bag = KeyValueBinder.FromCommandLine(new string[]
            {
                "-hello:world",
                "-empty1:",
                "-empty2"
            });

            Console.WriteLine(bag);
            Assert.AreEqual("world", bag["Hello"]);
            Assert.AreEqual("", bag["empty1"]);
            Assert.That(bag.ContainsKey("empty2"));
        }
        public void FromObject_Private()
        {
            var bag = KeyValueBinder.FromObject(new Inheritance());

            Assert.Null(bag["Hidden"]);
        }
        public void FromObject_Complex()
        {
            var bag = KeyValueBinder.FromObject(new Inheritance());

            Assert.AreEqual("GL.KeyValueTools.KeyValueBinderTests+SomeOther", bag["Complex"]);
        }
        public void FromObject_Inheritance()
        {
            var bag = KeyValueBinder.FromObject(new Inheritance());

            Assert.AreEqual("Bob", bag["String"]);
        }
        public void FromObject()
        {
            var bag = KeyValueBinder.FromObject(new SomeClass());

            Assert.AreEqual("Bob", bag["String"]);
        }
        public void FromUrl()
        {
            var bag = KeyValueBinder.FromURL("hello=world&age=12&empty=&extra");

            Assert.AreEqual("world", bag["hello"]);
        }