Skip to content

Commit

Permalink
fix: rename IgnoreObsoleteStrategy to IgnoreObsoleteMembersStrategy
Browse files Browse the repository at this point in the history
  • Loading branch information
TimothyMakkison committed Apr 30, 2023
1 parent 825ac39 commit 689208d
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 22 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
namespace Riok.Mapperly.Abstractions;

[Flags]
public enum IgnoreObsoleteStrategy
public enum IgnoreObsoleteMembersStrategy
{
None = 0,
Both = ~None,
Expand Down
4 changes: 2 additions & 2 deletions src/Riok.Mapperly.Abstractions/MapperAttribute.cs
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ public sealed class MapperAttribute : Attribute
public bool UseReferenceHandling { get; set; }

/// <summary>
/// Sets the ingore Obsolete attribute strategy.
/// Sets the ignore Obsolete attribute strategy.
/// </summary>
public IgnoreObsoleteStrategy IgnoreObsoleteStrategy { get; set; } = IgnoreObsoleteStrategy.None;
public IgnoreObsoleteMembersStrategy IgnoreObsoleteMembersStrategy { get; set; } = IgnoreObsoleteMembersStrategy.None;
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
/// <summary>
/// Specifies options for obsolete ignoring strategy.
/// </summary>
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
[AttributeUsage(AttributeTargets.Method)]
public sealed class MapperIgnoreObsoleteMembersAttribute : Attribute
{
public MapperIgnoreObsoleteMembersAttribute(IgnoreObsoleteStrategy ignoreObsoleteStrategy = IgnoreObsoleteStrategy.Both)
public MapperIgnoreObsoleteMembersAttribute(IgnoreObsoleteMembersStrategy ignoreObsoleteStrategy = IgnoreObsoleteMembersStrategy.Both)
{
IgnoreObsoleteStrategy = ignoreObsoleteStrategy;
}

public IgnoreObsoleteStrategy IgnoreObsoleteStrategy { get; }
public IgnoreObsoleteMembersStrategy IgnoreObsoleteStrategy { get; }
}
25 changes: 13 additions & 12 deletions test/Riok.Mapperly.Tests/Mapping/IgnoreObsoleteTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ namespace Riok.Mapperly.Tests.Mapping;

public class IgnoreObsoleteTest
{
private readonly string _classA = """
private const string _classA = """
class A
{
public int Value { get; set;}
Expand All @@ -15,7 +15,7 @@ class A
}
""";

private readonly string _classB = """
private const string _classB = """
class B
{
public int Value { get; set;}
Expand All @@ -31,7 +31,7 @@ public void ClassAttributeIgnoreObsoleteNone()
var source = TestSourceBuilder.Mapping(
"A",
"B",
TestSourceBuilderOptions.WithIgnoreObsolete(IgnoreObsoleteStrategy.None),
TestSourceBuilderOptions.WithIgnoreObsolete(IgnoreObsoleteMembersStrategy.None),
_classA,
_classB
);
Expand All @@ -55,7 +55,7 @@ public void ClassAttributeIgnoreObsoleteBoth()
var source = TestSourceBuilder.Mapping(
"A",
"B",
TestSourceBuilderOptions.WithIgnoreObsolete(IgnoreObsoleteStrategy.Both),
TestSourceBuilderOptions.WithIgnoreObsolete(IgnoreObsoleteMembersStrategy.Both),
_classA,
_classB
);
Expand All @@ -78,7 +78,7 @@ public void ClassAttributeIgnoreSourceShouldDiagnostic()
var source = TestSourceBuilder.Mapping(
"A",
"B",
TestSourceBuilderOptions.WithIgnoreObsolete(IgnoreObsoleteStrategy.Source),
TestSourceBuilderOptions.WithIgnoreObsolete(IgnoreObsoleteMembersStrategy.Source),
_classA,
_classB
);
Expand All @@ -102,7 +102,7 @@ public void ClassAttributeIgnoreTargetShouldDiagnostic()
var source = TestSourceBuilder.Mapping(
"A",
"B",
TestSourceBuilderOptions.WithIgnoreObsolete(IgnoreObsoleteStrategy.Target),
TestSourceBuilderOptions.WithIgnoreObsolete(IgnoreObsoleteMembersStrategy.Target),
_classA,
_classB
);
Expand All @@ -124,7 +124,7 @@ public void ClassAttributeIgnoreTargetShouldDiagnostic()
public void MethodAttributeIgnoreObsoleteNone()
{
var source = TestSourceBuilder.MapperWithBodyAndTypes(
"[MapperIgnoreObsoleteMembers(IgnoreObsoleteStrategy.None)] partial B Map(A source);",
"[MapperIgnoreObsoleteMembers(IgnoreObsoleteMembersStrategy.None)] partial B Map(A source);",
_classA,
_classB
);
Expand All @@ -145,7 +145,7 @@ public void MethodAttributeIgnoreObsoleteNone()
[Fact]
public void MethodAttributeIgnoreObsoleteBoth()
{
var source = TestSourceBuilder.MapperWithBodyAndTypes("[MapperIgnoreObsoleteMembers()] partial B Map(A source);", _classA, _classB);
var source = TestSourceBuilder.MapperWithBodyAndTypes("[MapperIgnoreObsoleteMembers] partial B Map(A source);", _classA, _classB);

TestHelper
.GenerateMapper(source, TestHelperOptions.AllowInfoDiagnostics)
Expand All @@ -163,7 +163,7 @@ public void MethodAttributeIgnoreObsoleteBoth()
public void MethodAttributeIgnoreObsoleteSourceShouldDiagnostic()
{
var source = TestSourceBuilder.MapperWithBodyAndTypes(
"[MapperIgnoreObsoleteMembers(IgnoreObsoleteStrategy.Source)] partial B Map(A source);",
"[MapperIgnoreObsoleteMembers(IgnoreObsoleteMembersStrategy.Source)] partial B Map(A source);",
_classA,
_classB
);
Expand All @@ -185,7 +185,7 @@ public void MethodAttributeIgnoreObsoleteSourceShouldDiagnostic()
public void MethodAttributeIgnoreObsoleteTargetShouldDiagnostic()
{
var source = TestSourceBuilder.MapperWithBodyAndTypes(
"[MapperIgnoreObsoleteMembers(IgnoreObsoleteStrategy.Target)] partial B Map(A source);",
"[MapperIgnoreObsoleteMembers(IgnoreObsoleteMembersStrategy.Target)] partial B Map(A source);",
_classA,
_classB
);
Expand All @@ -207,8 +207,8 @@ public void MethodAttributeIgnoreObsoleteTargetShouldDiagnostic()
public void MethodAttributeOverridesClassAttribute()
{
var source = TestSourceBuilder.MapperWithBodyAndTypes(
"[MapperIgnoreObsoleteMembers(IgnoreObsoleteStrategy.None)] partial B Map(A source);",
TestSourceBuilderOptions.WithIgnoreObsolete(IgnoreObsoleteStrategy.Both),
"[MapperIgnoreObsoleteMembers(IgnoreObsoleteMembersStrategy.None)] partial B Map(A source);",
TestSourceBuilderOptions.WithIgnoreObsolete(IgnoreObsoleteMembersStrategy.Both),
_classA,
_classB
);
Expand All @@ -220,6 +220,7 @@ public void MethodAttributeOverridesClassAttribute()
"""
var target = new global::B();
target.Value = source.Value;
target.Ignored = source.Ignored;
return target;
"""
);
Expand Down
2 changes: 1 addition & 1 deletion test/Riok.Mapperly.Tests/TestSourceBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ private static string BuildAttribute(TestSourceBuilderOptions options)
Attribute(options.EnabledConversions),
Attribute(options.PropertyNameMappingStrategy),
Attribute(options.EnumMappingStrategy),
Attribute(options.IgnoreObsoleteStrategy),
Attribute(options.IgnoreObsoleteMembersStrategy),
};
return $"[Mapper({string.Join(", ", attrs)})]";
}
Expand Down
6 changes: 3 additions & 3 deletions test/Riok.Mapperly.Tests/TestSourceBuilderOptions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@ public record TestSourceBuilderOptions(
PropertyNameMappingStrategy PropertyNameMappingStrategy = PropertyNameMappingStrategy.CaseSensitive,
MappingConversionType EnabledConversions = MappingConversionType.All,
EnumMappingStrategy EnumMappingStrategy = EnumMappingStrategy.ByValue,
IgnoreObsoleteStrategy IgnoreObsoleteStrategy = IgnoreObsoleteStrategy.None
IgnoreObsoleteMembersStrategy IgnoreObsoleteMembersStrategy = IgnoreObsoleteMembersStrategy.None
)
{
public static readonly TestSourceBuilderOptions Default = new();
public static readonly TestSourceBuilderOptions WithDeepCloning = new(UseDeepCloning: true);
public static readonly TestSourceBuilderOptions WithReferenceHandling = new(UseReferenceHandling: true);

public static TestSourceBuilderOptions WithIgnoreObsolete(IgnoreObsoleteStrategy ignoreObsoleteStrategy) =>
new(IgnoreObsoleteStrategy: ignoreObsoleteStrategy);
public static TestSourceBuilderOptions WithIgnoreObsolete(IgnoreObsoleteMembersStrategy ignoreObsoleteStrategy) =>
new(IgnoreObsoleteMembersStrategy: ignoreObsoleteStrategy);

public static TestSourceBuilderOptions WithDisabledMappingConversion(params MappingConversionType[] conversionTypes)
{
Expand Down

0 comments on commit 689208d

Please sign in to comment.