Skip to content

Commit 17989a2

Browse files
committed
Add new Enum extensions AreEquals.
1 parent 3e56754 commit 17989a2

2 files changed

Lines changed: 28 additions & 0 deletions

File tree

src/DomainCommonExtensions/DataTypeExtensions/EnumExtensions.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
using System.Runtime.Serialization;
2929
#endif
3030

31+
// ReSharper disable RedundantCast
32+
3133
#endregion
3234

3335
namespace DomainCommonExtensions.DataTypeExtensions
@@ -234,5 +236,17 @@ public static string GetDisplayDescription(this Enum value)
234236
return value.ToString();
235237
}
236238
#endif
239+
240+
/// <summary>
241+
/// A T extension method that determine if we are equals.
242+
/// </summary>
243+
/// <typeparam name="T">Generic type parameter.</typeparam>
244+
/// <param name="sourceEnumValue">The sourceEnumValue to act on.</param>
245+
/// <param name="compareEnumValue">The compare enum value.</param>
246+
/// <returns>
247+
/// True if equals, false if not.
248+
/// </returns>
249+
public static bool AreEquals<T>(this T sourceEnumValue, T compareEnumValue) where T : Enum, IComparable, IFormattable
250+
=> Equals(sourceEnumValue, compareEnumValue);
237251
}
238252
}

src/tests/DataTypeTests/DataTests/EnumTests.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,5 +162,19 @@ public void GetDisplayDescriptionTest()
162162
Assert.IsNotNull(resUnknown);
163163
Assert.AreEqual("Unknown", resUnknown);
164164
}
165+
166+
[DataRow(ResultEnum.Invalid, ResultEnum.Invalid, true)]
167+
[DataRow(ResultEnum.Invalid, ResultEnum.Unknown, false)]
168+
[TestMethod]
169+
public void AreEquals_Enum_Value_Test(object source, object valueToCheck, bool result)
170+
{
171+
var source1 = (ResultEnum)source;
172+
var valueToCheck1 = (ResultEnum)valueToCheck;
173+
174+
var areEqualsResult = source1.AreEquals(valueToCheck1);
175+
176+
Assert.IsNotNull(areEqualsResult);
177+
Assert.AreEqual(result, areEqualsResult);
178+
}
165179
}
166180
}

0 commit comments

Comments
 (0)