コード例 #1
0
        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);
            }
        }