From 1bb428d4975e64b12519bd913d961ea7fb86c184 Mon Sep 17 00:00:00 2001 From: Dennis Doomen Date: Sat, 12 Aug 2023 13:24:42 +0200 Subject: [PATCH] Removed the "non-private" part from names since visibility is now used to find members --- Src/FluentAssertions/Common/TypeExtensions.cs | 18 ++++++++--------- .../Common/TypeMemberReflector.cs | 20 +++++++++---------- .../Selection/AllFieldsSelectionRule.cs | 6 +++--- .../Selection/AllPropertiesSelectionRule.cs | 6 +++--- .../IncludeMemberByPathSelectionRule.cs | 2 +- .../IncludeMemberByPredicateSelectionRule.cs | 2 +- .../Formatting/DefaultValueFormatter.cs | 2 +- 7 files changed, 28 insertions(+), 28 deletions(-) diff --git a/Src/FluentAssertions/Common/TypeExtensions.cs b/Src/FluentAssertions/Common/TypeExtensions.cs index 3383e7f1d7..19baf33c82 100644 --- a/Src/FluentAssertions/Common/TypeExtensions.cs +++ b/Src/FluentAssertions/Common/TypeExtensions.cs @@ -184,10 +184,10 @@ public static bool OverridesEquals(this Type type) /// public static PropertyInfo FindProperty(this Type type, string propertyName, MemberVisibility memberVisibility) { - var properties = type.GetNonPrivateProperties(memberVisibility); + var properties = type.GetProperties(memberVisibility); return Array.Find(properties, p => - p.Name == propertyName || p.Name.EndsWith("." + propertyName, StringComparison.OrdinalIgnoreCase)); + p.Name == propertyName || p.Name.EndsWith("." + propertyName, StringComparison.Ordinal)); } /// @@ -198,25 +198,25 @@ public static PropertyInfo FindProperty(this Type type, string propertyName, Mem /// public static FieldInfo FindField(this Type type, string fieldName, MemberVisibility memberVisibility) { - var fields = type.GetNonPrivateFields(memberVisibility); + var fields = type.GetFields(memberVisibility); return Array.Find(fields, p => p.Name == fieldName || p.Name.EndsWith("." + fieldName, StringComparison.Ordinal)); } - public static MemberInfo[] GetNonPrivateMembers(this Type typeToReflect, MemberVisibility visibility) + public static MemberInfo[] GetMembers(this Type typeToReflect, MemberVisibility visibility) { - return GetTypeReflectorFor(typeToReflect, visibility).NonPrivateMembers; + return GetTypeReflectorFor(typeToReflect, visibility).Members; } - public static PropertyInfo[] GetNonPrivateProperties(this Type typeToReflect, MemberVisibility visibility) + public static PropertyInfo[] GetProperties(this Type typeToReflect, MemberVisibility visibility) { - return GetTypeReflectorFor(typeToReflect, visibility).NonPrivateProperties; + return GetTypeReflectorFor(typeToReflect, visibility).Properties; } - public static FieldInfo[] GetNonPrivateFields(this Type typeToReflect, MemberVisibility visibility) + public static FieldInfo[] GetFields(this Type typeToReflect, MemberVisibility visibility) { - return GetTypeReflectorFor(typeToReflect, visibility).NonPrivateFields; + return GetTypeReflectorFor(typeToReflect, visibility).Fields; } private static TypeMemberReflector GetTypeReflectorFor(Type typeToReflect, MemberVisibility visibility) diff --git a/Src/FluentAssertions/Common/TypeMemberReflector.cs b/Src/FluentAssertions/Common/TypeMemberReflector.cs index b38d49b306..2d3c2aeaac 100644 --- a/Src/FluentAssertions/Common/TypeMemberReflector.cs +++ b/Src/FluentAssertions/Common/TypeMemberReflector.cs @@ -16,22 +16,22 @@ internal sealed class TypeMemberReflector public TypeMemberReflector(Type typeToReflect, MemberVisibility visibility) { - NonPrivateProperties = LoadNonPrivateProperties(typeToReflect, visibility); - NonPrivateFields = LoadNonPrivateFields(typeToReflect, visibility); - NonPrivateMembers = NonPrivateProperties.Concat(NonPrivateFields).ToArray(); + Properties = LoadProperties(typeToReflect, visibility); + Fields = LoadFields(typeToReflect, visibility); + Members = Properties.Concat(Fields).ToArray(); } - public MemberInfo[] NonPrivateMembers { get; } + public MemberInfo[] Members { get; } - public PropertyInfo[] NonPrivateProperties { get; } + public PropertyInfo[] Properties { get; } - public FieldInfo[] NonPrivateFields { get; } + public FieldInfo[] Fields { get; } - private static PropertyInfo[] LoadNonPrivateProperties(Type typeToReflect, MemberVisibility visibility) + private static PropertyInfo[] LoadProperties(Type typeToReflect, MemberVisibility visibility) { IEnumerable query = from propertyInfo in GetPropertiesFromHierarchy(typeToReflect, visibility) - where HasNonPrivateGetter(propertyInfo, visibility) + where HasGetter(propertyInfo, visibility) where !propertyInfo.IsIndexer() select propertyInfo; @@ -64,7 +64,7 @@ private static bool IsExplicitImplementation(PropertyInfo property) property.Name.Contains('.', StringComparison.Ordinal); } - private static FieldInfo[] LoadNonPrivateFields(Type typeToReflect, MemberVisibility visibility) + private static FieldInfo[] LoadFields(Type typeToReflect, MemberVisibility visibility) { IEnumerable query = from fieldInfo in GetFieldsFromHierarchy(typeToReflect, visibility) @@ -165,7 +165,7 @@ private static TMemberInfo[] GetClassMembers(Type typeToReflect, return members.ToArray(); } - private static bool HasNonPrivateGetter(PropertyInfo propertyInfo, MemberVisibility visibility) + private static bool HasGetter(PropertyInfo propertyInfo, MemberVisibility visibility) { MethodInfo getMethod = propertyInfo.GetGetMethod(nonPublic: true); diff --git a/Src/FluentAssertions/Equivalency/Selection/AllFieldsSelectionRule.cs b/Src/FluentAssertions/Equivalency/Selection/AllFieldsSelectionRule.cs index 6ec2d32665..fadd165609 100644 --- a/Src/FluentAssertions/Equivalency/Selection/AllFieldsSelectionRule.cs +++ b/Src/FluentAssertions/Equivalency/Selection/AllFieldsSelectionRule.cs @@ -14,11 +14,11 @@ internal class AllFieldsSelectionRule : IMemberSelectionRule public IEnumerable SelectMembers(INode currentNode, IEnumerable selectedMembers, MemberSelectionContext context) { - IEnumerable selectedNonPrivateFields = context.Type - .GetNonPrivateFields(context.IncludedFields) + IEnumerable selectedFields = context.Type + .GetFields(context.IncludedFields) .Select(info => new Field(info, currentNode)); - return selectedMembers.Union(selectedNonPrivateFields).ToList(); + return selectedMembers.Union(selectedFields).ToList(); } /// diff --git a/Src/FluentAssertions/Equivalency/Selection/AllPropertiesSelectionRule.cs b/Src/FluentAssertions/Equivalency/Selection/AllPropertiesSelectionRule.cs index 5c1ac9c709..ba61049c62 100644 --- a/Src/FluentAssertions/Equivalency/Selection/AllPropertiesSelectionRule.cs +++ b/Src/FluentAssertions/Equivalency/Selection/AllPropertiesSelectionRule.cs @@ -14,11 +14,11 @@ internal class AllPropertiesSelectionRule : IMemberSelectionRule public IEnumerable SelectMembers(INode currentNode, IEnumerable selectedMembers, MemberSelectionContext context) { - IEnumerable selectedNonPrivateProperties = context.Type - .GetNonPrivateProperties(context.IncludedProperties) + IEnumerable selectedProperties = context.Type + .GetProperties(context.IncludedProperties) .Select(info => new Property(context.Type, info, currentNode)); - return selectedMembers.Union(selectedNonPrivateProperties).ToList(); + return selectedMembers.Union(selectedProperties).ToList(); } /// diff --git a/Src/FluentAssertions/Equivalency/Selection/IncludeMemberByPathSelectionRule.cs b/Src/FluentAssertions/Equivalency/Selection/IncludeMemberByPathSelectionRule.cs index c521d7ddc1..7646069aa2 100644 --- a/Src/FluentAssertions/Equivalency/Selection/IncludeMemberByPathSelectionRule.cs +++ b/Src/FluentAssertions/Equivalency/Selection/IncludeMemberByPathSelectionRule.cs @@ -21,7 +21,7 @@ public IncludeMemberByPathSelectionRule(MemberPath pathToInclude) protected override void AddOrRemoveMembersFrom(List selectedMembers, INode parent, string parentPath, MemberSelectionContext context) { - foreach (MemberInfo memberInfo in context.Type.GetNonPrivateMembers(MemberVisibility.Public | MemberVisibility.Internal)) + foreach (MemberInfo memberInfo in context.Type.GetMembers(MemberVisibility.Public | MemberVisibility.Internal)) { var memberPath = new MemberPath(context.Type, memberInfo.DeclaringType, parentPath.Combine(memberInfo.Name)); diff --git a/Src/FluentAssertions/Equivalency/Selection/IncludeMemberByPredicateSelectionRule.cs b/Src/FluentAssertions/Equivalency/Selection/IncludeMemberByPredicateSelectionRule.cs index f5a2c68cd4..97000aad92 100644 --- a/Src/FluentAssertions/Equivalency/Selection/IncludeMemberByPredicateSelectionRule.cs +++ b/Src/FluentAssertions/Equivalency/Selection/IncludeMemberByPredicateSelectionRule.cs @@ -27,7 +27,7 @@ public IEnumerable SelectMembers(INode currentNode, IEnumerable(selectedMembers); - foreach (MemberInfo memberInfo in currentNode.Type.GetNonPrivateMembers(MemberVisibility.Public | + foreach (MemberInfo memberInfo in currentNode.Type.GetMembers(MemberVisibility.Public | MemberVisibility.Internal)) { IMember member = MemberFactory.Create(memberInfo, currentNode); diff --git a/Src/FluentAssertions/Formatting/DefaultValueFormatter.cs b/Src/FluentAssertions/Formatting/DefaultValueFormatter.cs index 723b04cbff..93775f7c99 100644 --- a/Src/FluentAssertions/Formatting/DefaultValueFormatter.cs +++ b/Src/FluentAssertions/Formatting/DefaultValueFormatter.cs @@ -56,7 +56,7 @@ public void Format(object value, FormattedObjectGraph formattedGraph, Formatting /// The default is all non-private members. protected virtual MemberInfo[] GetMembers(Type type) { - return type.GetNonPrivateMembers(MemberVisibility.Public); + return type.GetMembers(MemberVisibility.Public); } private static bool HasCompilerGeneratedToStringImplementation(object value)