public void CorrectlySerializesCustomizedModels()
{
var testModel = new TestModel();
testModel._excludedField = "excluded";
testModel._includedField = "included";
testModel.ExcludedRegularProperty = "excluded";
testModel.IncludedRegularProperty = "included";
testModel.ExcludedCatelProperty = "excluded";
testModel.IncludedCatelProperty = "included";
testModel.SetValue(TestModel.ExcludedProtectedCatelPropertyProperty, "excluded");
TestSerializationOnAllSerializers((serializer, config, description) =>
{
var clonedModel = SerializationTestHelper.SerializeAndDeserialize(testModel, serializer, config);
Assert.AreEqual(null, clonedModel._excludedField, description);
Assert.AreEqual("included", clonedModel._includedField, description);
Assert.AreEqual(null, clonedModel.ExcludedRegularProperty, description);
Assert.AreEqual("included", clonedModel.IncludedRegularProperty, description);
Assert.AreEqual(null, clonedModel.ExcludedCatelProperty, description);
Assert.AreEqual("included", clonedModel.IncludedCatelProperty, description);
Assert.AreEqual(null, clonedModel.GetValue(TestModel.ExcludedProtectedCatelPropertyProperty.Name), description);
});
}