public void CorrectlySerializesComplexObjects()
{
var dynamicConfiguration = new DynamicConfiguration();
var complexSetting = new ComplexSetting
{
FirstName = "Geert",
MiddleName = "van",
LastName = "Horrik"
};
dynamicConfiguration.SetConfigurationValue("ComplexSetting", complexSetting);
using (var memoryStream = new MemoryStream())
{
dynamicConfiguration.SaveAsXml(memoryStream);
memoryStream.Position = 0L;
var newDynamicConfiguration = ModelBase.Load<DynamicConfiguration>(memoryStream, SerializationMode.Xml, null);
var newComplexSetting = newDynamicConfiguration.GetConfigurationValue<ComplexSetting>("ComplexSetting", null);
Assert.AreEqual(newComplexSetting.FirstName, complexSetting.FirstName);
Assert.AreEqual(newComplexSetting.MiddleName, complexSetting.MiddleName);
Assert.AreEqual(newComplexSetting.LastName, complexSetting.LastName);
}
}
}