diff --git a/DigitalData.Core.Tests/Mock/User.cs b/DigitalData.Core.Tests/Mock/User.cs index c2e1b1a..ce8d780 100644 --- a/DigitalData.Core.Tests/Mock/User.cs +++ b/DigitalData.Core.Tests/Mock/User.cs @@ -1,12 +1,12 @@ namespace DigitalData.Core.Tests.Mock; -public class User +public class User : UserBase { public required int Id { get; init; } - public required string FirstName { get; init; } + public override int GetHashCode() => HashCode.Combine(Id, FirstName, Email, Age); - public required string Email { get; init; } - - public int Age { get; init; } + public override bool Equals(object? obj) + => (obj is User user && user.GetHashCode() == GetHashCode()) + || (obj is UserBase userBase && userBase.GetHashCode() == base.GetHashCode()); } diff --git a/DigitalData.Core.Tests/Mock/UserBase.cs b/DigitalData.Core.Tests/Mock/UserBase.cs new file mode 100644 index 0000000..ea8cc79 --- /dev/null +++ b/DigitalData.Core.Tests/Mock/UserBase.cs @@ -0,0 +1,14 @@ +namespace DigitalData.Core.Tests.Mock; + +public class UserBase +{ + public required string FirstName { get; init; } + + public required string Email { get; init; } + + public required int Age { get; init; } + + public override int GetHashCode() => HashCode.Combine(FirstName, Email, Age); + + public override bool Equals(object? obj) => obj is UserBase user && user.GetHashCode() == GetHashCode(); +} diff --git a/DigitalData.Core.Tests/Mock/UserDto.cs b/DigitalData.Core.Tests/Mock/UserDto.cs index f763db4..928b59c 100644 --- a/DigitalData.Core.Tests/Mock/UserDto.cs +++ b/DigitalData.Core.Tests/Mock/UserDto.cs @@ -1,10 +1,5 @@ namespace DigitalData.Core.Tests.Mock; -public class UserDto +public class UserDto : UserBase { - public required string FirstName { get; init; } - - public required string Email { get; init; } - - public int Age { get; init; } }