public void ExceptionsTest()
        {
            NameValueMap nameValueMap = new NameValueMapStub();

            nameValueMap.Value["StringValue"] = "Test String";

            Assert.Throws <KeyNotFoundException>(() => nameValueMap.AsString("WrongIndex"));
            Assert.Throws <InvalidValueTypeException>(() => nameValueMap.AsInt("StringValue"));
            Assert.Throws <KeyNotFoundException>(() => nameValueMap.AsStringCollection("WrongIndex"));
            Assert.Throws <InvalidValueTypeException>(() => nameValueMap.AsIntCollection("StringValue"));
        }
        public void TestHasValue()
        {
            NameValueMap nameValueMap = new NameValueMapStub();

            nameValueMap.Value["StringValue"] = "TestString";
            nameValueMap.Value["IntValue"]    = "356";
            nameValueMap.Value["DoubleValue"] = "114.3998";
            nameValueMap.Value["BoolValue"]   = "True";
            nameValueMap.Value["EnumValue"]   = "VALUE_FOUR";

            Assert.True(nameValueMap.HasKey("StringValue"));
            Assert.True(nameValueMap.HasKey("IntValue"));
            Assert.True(nameValueMap.HasKey("DoubleValue"));
            Assert.True(nameValueMap.HasKey("BoolValue"));
            Assert.False(nameValueMap.HasKey("NonExistantKey"));
            Assert.True(nameValueMap.HasKey("EnumValue"));
        }