public void TestIsValidUserInput()
        {
            ConfigurationItem configurationItem = new ConfigurationItem((int)123, "<description>");

            Assert.That(configurationItem.IsValidUserInput("456"), Is.EqualTo(true));
            Assert.That(configurationItem.IsValidUserInput("\t 456 "), Is.EqualTo(true));
            Assert.That(configurationItem.IsValidUserInput("1.3"), Is.EqualTo(false));
            Assert.That(configurationItem.IsValidUserInput("1,3"), Is.EqualTo(false));
            Assert.That(configurationItem.IsValidUserInput("1e3"), Is.EqualTo(false));
            Assert.That(configurationItem.IsValidUserInput("abc"), Is.EqualTo(false));
            Assert.That(configurationItem.IsValidUserInput("-1"), Is.EqualTo(true));

            configurationItem = new ConfigurationItem((double)123.456, "<description>");
            Assert.That(configurationItem.IsValidUserInput("456"), Is.EqualTo(true));
            Assert.That(configurationItem.IsValidUserInput("\t 456 "), Is.EqualTo(true));
            Assert.That(configurationItem.IsValidUserInput(" 1.3 "), Is.EqualTo(true));
            Assert.That(configurationItem.IsValidUserInput("1e3"), Is.EqualTo(true));
            Assert.That(configurationItem.IsValidUserInput(" -1.0 "), Is.EqualTo(true));
            Assert.That(configurationItem.IsValidUserInput("1,3"), Is.EqualTo(false));
            Assert.That(configurationItem.IsValidUserInput("abc"), Is.EqualTo(false));

            configurationItem = new ConfigurationItem((bool)true, "<description>");
            Assert.That(configurationItem.IsValidUserInput("true"), Is.EqualTo(true));
            Assert.That(configurationItem.IsValidUserInput("TRUE"), Is.EqualTo(true));
            Assert.That(configurationItem.IsValidUserInput("false"), Is.EqualTo(true));
            Assert.That(configurationItem.IsValidUserInput("FaLsE"), Is.EqualTo(true));
            Assert.That(configurationItem.IsValidUserInput("1"), Is.EqualTo(false));
            Assert.That(configurationItem.IsValidUserInput("0"), Is.EqualTo(false));
            Assert.That(configurationItem.IsValidUserInput("waar"), Is.EqualTo(false));

            configurationItem = new ConfigurationItem((byte)0, "<description>");
            Assert.That(configurationItem.IsValidUserInput("255"), Is.EqualTo(true));
            Assert.That(configurationItem.IsValidUserInput("true"), Is.EqualTo(false));
            Assert.That(configurationItem.IsValidUserInput("256"), Is.EqualTo(false));
            Assert.That(configurationItem.IsValidUserInput("-1"), Is.EqualTo(false));

            configurationItem = new ConfigurationItem((uint)0, "<description>");
            Assert.That(configurationItem.IsValidUserInput("256"), Is.EqualTo(true));
            Assert.That(configurationItem.IsValidUserInput("true"), Is.EqualTo(false));
            Assert.That(configurationItem.IsValidUserInput("-1"), Is.EqualTo(false));
            Assert.That(configurationItem.IsValidUserInput("0.1"), Is.EqualTo(false));
            Assert.That(configurationItem.IsValidUserInput("0,1"), Is.EqualTo(false));
            Assert.That(configurationItem.IsValidUserInput("0e1"), Is.EqualTo(false));
        }