69 lines
2.5 KiB
C#
69 lines
2.5 KiB
C#
using TwoFromTheCaseContracts.DataModels;
|
|
using TwoFromTheCaseContracts.Exceptions;
|
|
|
|
namespace TwoFromTheCaseTests.DataModelsTests;
|
|
|
|
[TestFixture]
|
|
class WorkerWorkDataModelTests
|
|
{
|
|
[Test]
|
|
public void WorkerIdIsNullOrEmptyTest()
|
|
{
|
|
var workerWork = CreateDataModel(null, Guid.NewGuid().ToString(), 10);
|
|
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
|
workerWork = CreateDataModel(string.Empty, Guid.NewGuid().ToString(), 10);
|
|
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
|
}
|
|
|
|
[Test]
|
|
public void WorkerIdIsNotGuidTest()
|
|
{
|
|
var workerWork = CreateDataModel("workerId", Guid.NewGuid().ToString(), 10);
|
|
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
|
}
|
|
|
|
[Test]
|
|
public void WorkIdIsNullOrEmptyTest()
|
|
{
|
|
var workerWork = CreateDataModel(Guid.NewGuid().ToString(), null, 10);
|
|
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
|
workerWork = CreateDataModel(string.Empty, Guid.NewGuid().ToString(), 10);
|
|
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
|
}
|
|
|
|
[Test]
|
|
public void WorkIdIsNotGuidTest()
|
|
{
|
|
var workerWork = CreateDataModel(Guid.NewGuid().ToString(), "workId", 10);
|
|
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
|
}
|
|
|
|
[Test]
|
|
public void HoursIsLessOrZeroTest()
|
|
{
|
|
var workerWork = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 0);
|
|
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
|
workerWork = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), -10);
|
|
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
|
}
|
|
|
|
[Test]
|
|
public void AllFieldsIsCorrectTest()
|
|
{
|
|
var workerId = Guid.NewGuid().ToString();
|
|
var workId = Guid.NewGuid().ToString();
|
|
var hours = 10;
|
|
var workerWork = CreateDataModel(workerId, workId, hours);
|
|
Assert.That(() => workerWork.Validate(), Throws.Nothing);
|
|
Assert.Multiple(() =>
|
|
{
|
|
Assert.That(workerWork.WorkerId, Is.EqualTo(workerId));
|
|
Assert.That(workerWork.WorkId, Is.EqualTo(workId));
|
|
Assert.That(workerWork.Hours, Is.EqualTo(hours));
|
|
});
|
|
}
|
|
|
|
private static WorkerWorkDataModel CreateDataModel(string? workerId, string? workId, double hours) =>
|
|
new(workerId, workId, hours);
|
|
}
|