79 lines
1.6 KiB
C#
79 lines
1.6 KiB
C#
using DigitalData.Core.DTO;
|
|
|
|
namespace DigitalData.Core.Tests.DTO
|
|
{
|
|
public class BaseDtoTest
|
|
{
|
|
public record SampleDto(int Id) : BaseDto<int>(Id);
|
|
|
|
[Test]
|
|
public void EntitiesWithSameIdShouldBeEqual()
|
|
{
|
|
var dto1 = new SampleDto(1);
|
|
var dto2 = new SampleDto(1);
|
|
|
|
Assert.That(dto2, Is.EqualTo(dto1));
|
|
}
|
|
|
|
[Test]
|
|
public void EntitiesWithDifferentIdsShouldNotBeEqual()
|
|
{
|
|
var dto1 = new SampleDto(1);
|
|
var dto2 = new SampleDto(2);
|
|
|
|
Assert.That(dto2, Is.Not.EqualTo(dto1));
|
|
}
|
|
|
|
[Test]
|
|
public void GetHashCodeShouldReturnSameValueForEntitiesWithSameId()
|
|
{
|
|
var dto1 = new SampleDto(1);
|
|
var dto2 = new SampleDto(1);
|
|
|
|
Assert.That(dto2.GetHashCode(), Is.EqualTo(dto1.GetHashCode()));
|
|
}
|
|
|
|
[Test]
|
|
public void EqualsShouldReturnFalseForNull()
|
|
{
|
|
var dto = new SampleDto(1);
|
|
|
|
Assert.IsFalse(dto.Equals(null));
|
|
}
|
|
|
|
[Test]
|
|
public void EqualityOperatorShouldReturnTrueForSameReference()
|
|
{
|
|
var dto = new SampleDto(1);
|
|
|
|
Assert.That(dto, Is.EqualTo(dto));
|
|
}
|
|
|
|
[Test]
|
|
public void EqualityOperatorShouldReturnFalseForDifferentEntitiesWithDifferentIds()
|
|
{
|
|
var dto1 = new SampleDto(1);
|
|
var dto2 = new SampleDto(2);
|
|
|
|
Assert.IsFalse(dto1 == dto2);
|
|
}
|
|
|
|
[Test]
|
|
public void InequalityOperatorShouldReturnTrueForDifferentEntitiesWithDifferentIds()
|
|
{
|
|
var dto1 = new SampleDto(1);
|
|
var dto2 = new SampleDto(2);
|
|
|
|
Assert.IsTrue(dto1 != dto2);
|
|
}
|
|
|
|
[Test]
|
|
public void InequalityOperatorShouldReturnFalseForEntitiesWithSameId()
|
|
{
|
|
var dto1 = new SampleDto(1);
|
|
var dto2 = new SampleDto(1);
|
|
|
|
Assert.IsFalse(dto1 != dto2);
|
|
}
|
|
}
|
|
} |