public void Can_Convert_from_ObjectDictionary_with_Read_Only_Dictionary()
        {
            var map = new Dictionary <string, object>
            {
                { "FirstName", 1 },
                { "LastName", true },
                { "Car", new SubCar {
                      Age = 10, Name = "SubCar", Custom = "Custom"
                  } },
            };

            var readOnlyMap = new ReadOnlyDictionary <string, object>(map);

            var fromDict = (User)readOnlyMap.FromObjectDictionary(typeof(User));

            Assert.That(fromDict.FirstName, Is.EqualTo("1"));
            Assert.That(fromDict.LastName, Is.EqualTo(bool.TrueString));
            Assert.That(fromDict.Car.Age, Is.EqualTo(10));
            Assert.That(fromDict.Car.Name, Is.EqualTo("SubCar"));
        }