public void VerifyPropertySerializationAndDisplay() { // SerializeAutoProperties = true using (new fiTemporaryValue <bool>(fiSettings.SerializeAutoProperties, newValue: true, setter: val => { fiSettings.SerializeAutoProperties = val; InspectedType.ResetCacheForTesting(); })) { var displayedProperties = InspectedType.Get(typeof(ModelType)).GetProperties( InspectedMemberFilters.InspectableMembers).Select(t => t.Name).ToArray(); var serializedProperties = InspectedType.Get(typeof(ModelType)).GetProperties( InspectedMemberFilters.FullInspectorSerializedProperties).Select(t => t.Name).ToArray(); CollectionAssert.AreEqual(new[] { "AutoPropertyPublicGetPublicSet", "AutoPropertyPublicGetPrivateSet", "ForceShow_ManualPropertyPublicGetPublicSet", "ForceShow_ManualPropertyPublicGetPrivateSet", "ForceShow_ManualPropertyPublicGet", "ForceSerialized_AutoPropertyPublicGetPublicSet", "ForceSerialized_AutoPropertyPublicGetPrivateSet", "ForceSerialized_ManualPropertyPublicGetPrivateSet" }, displayedProperties); CollectionAssert.AreEqual(new[] { "AutoPropertyPublicGetPublicSet", "AutoPropertyPublicGetPrivateSet", "ForceHide_AutoPropertyPublicGetPublicSet", "ForceHide_AutoPropertyPublicGetPrivateSet", "ForceSerialized_AutoPropertyPublicGetPublicSet", "ForceSerialized_AutoPropertyPublicGetPrivateSet", "ForceSerialized_ManualPropertyPublicGetPrivateSet" }, serializedProperties); } // SerializeAutoProperties = false using (new fiTemporaryValue <bool>(fiSettings.SerializeAutoProperties, newValue: false, setter: val => { fiSettings.SerializeAutoProperties = val; InspectedType.ResetCacheForTesting(); })) { var displayedProperties = InspectedType.Get(typeof(ModelType)).GetProperties( InspectedMemberFilters.InspectableMembers).Select(t => t.Name).ToArray(); var serializedProperties = InspectedType.Get(typeof(ModelType)).GetProperties( InspectedMemberFilters.FullInspectorSerializedProperties).Select(t => t.Name).ToArray(); CollectionAssert.AreEqual(new[] { "ForceShow_ManualPropertyPublicGetPublicSet", "ForceShow_ManualPropertyPublicGetPrivateSet", "ForceShow_ManualPropertyPublicGet", "ForceSerialized_AutoPropertyPublicGetPublicSet", "ForceSerialized_AutoPropertyPublicGetPrivateSet", "ForceSerialized_ManualPropertyPublicGetPrivateSet" }, displayedProperties); CollectionAssert.AreEqual(new[] { "ForceSerialized_AutoPropertyPublicGetPublicSet", "ForceSerialized_AutoPropertyPublicGetPrivateSet", "ForceSerialized_ManualPropertyPublicGetPrivateSet" }, serializedProperties); } }