You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
API_SQLuedo/API_SQLuedo/TestEF/EntitiesTests/TestSolutionEntity.cs

119 lines
4.1 KiB

using Entities;
namespace TestEF.EntitiesTests;
public class TestSolutionEntity
{
private const string MurdererFirstName = "John";
private const string MurdererLastName = "Doe";
private const string MurderPlace = "WhiteHouse";
private const string MurderWeapon = "Nuclear Bomb";
private const string Explaination = "This is an explaination";
private const int InquiryId = 42;
private static readonly InquiryEntity Inquiry = new();
[Fact]
public void TestDefaultConstructor()
{
SolutionEntity solution = new SolutionEntity();
Assert.Equal(0, solution.OwnerId);
Assert.Null(solution.Owner);
Assert.Null(solution.MurdererFirstName);
Assert.Null(solution.MurdererLastName);
Assert.Null(solution.MurderPlace);
Assert.Null(solution.MurderWeapon);
Assert.Null(solution.Explaination);
}
[Fact]
public void TestConstructorWithOnlyId()
{
SolutionEntity solution = new SolutionEntity
{
OwnerId = InquiryId
};
Assert.Equal(InquiryId, solution.OwnerId);
Assert.Null(solution.Owner);
Assert.Null(solution.MurdererFirstName);
Assert.Null(solution.MurdererLastName);
Assert.Null(solution.MurderPlace);
Assert.Null(solution.MurderWeapon);
Assert.Null(solution.Explaination);
}
[Fact]
public void TestConstructorWithoutOwnerId()
{
SolutionEntity solution = new SolutionEntity
{
Owner = Inquiry,
MurdererFirstName = MurdererFirstName,
MurdererLastName = MurdererLastName,
MurderPlace = MurderPlace,
MurderWeapon = MurderWeapon,
Explaination = Explaination
};
Assert.Equal(0, solution.OwnerId);
Assert.Equal(Inquiry, solution.Owner);
Assert.Equal(MurdererFirstName, solution.MurdererFirstName);
Assert.Equal(MurdererLastName, solution.MurdererLastName);
Assert.Equal(MurderPlace, solution.MurderPlace);
Assert.Equal(MurderWeapon, solution.MurderWeapon);
Assert.Equal(Explaination, solution.Explaination);
}
[Fact]
public void TestConstructorWithAllAttributes()
{
SolutionEntity solution = new SolutionEntity
{
OwnerId = InquiryId,
Owner = Inquiry,
MurdererFirstName = MurdererFirstName,
MurdererLastName = MurdererLastName,
MurderPlace = MurderPlace,
MurderWeapon = MurderWeapon,
Explaination = Explaination
};
Assert.Equal(InquiryId, solution.OwnerId);
Assert.Equal(Inquiry, solution.Owner);
Assert.Equal(MurdererFirstName, solution.MurdererFirstName);
Assert.Equal(MurdererLastName, solution.MurdererLastName);
Assert.Equal(MurderPlace, solution.MurderPlace);
Assert.Equal(MurderWeapon, solution.MurderWeapon);
Assert.Equal(Explaination, solution.Explaination);
}
[Fact]
public void Constructor_ShouldSetProperties_WhenCalledWithSixParameters()
{
// Arrange
const int ownerId = 1;
const string murdererFirstName = "John";
const string murdererLastName = "Doe";
const string murderPlace = "WhiteHouse";
const string murderWeapon = "Nuclear Bomb";
const string explanation = "This is an explanation";
// Act
var solutionEntity = new SolutionEntity
{
OwnerId = ownerId,
MurdererFirstName = murdererFirstName,
MurdererLastName = murdererLastName,
MurderPlace = murderPlace,
MurderWeapon = murderWeapon,
Explaination = explanation
};
// Assert
Assert.Equal(ownerId, solutionEntity.OwnerId);
Assert.Equal(murdererFirstName, solutionEntity.MurdererFirstName);
Assert.Equal(murdererLastName, solutionEntity.MurdererLastName);
Assert.Equal(murderPlace, solutionEntity.MurderPlace);
Assert.Equal(murderWeapon, solutionEntity.MurderWeapon);
Assert.Equal(explanation, solutionEntity.Explaination);
}
}