Тесты
This commit is contained in:
@@ -5,6 +5,8 @@ VisualStudioVersion = 17.12.35527.113 d17.12
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TwoFromTheCasketContracts", "TwoFromTheCasketContracts\TwoFromTheCasketContracts.csproj", "{0498D87C-7F20-4B8D-BC34-040D0CC55BB7}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TwoFromTheCasketTests", "TwoFromTheCasketTests\TwoFromTheCasketTests.csproj", "{E6FA5F6D-7A09-4576-9447-A1661C214545}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@@ -15,6 +17,10 @@ Global
|
||||
{0498D87C-7F20-4B8D-BC34-040D0CC55BB7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0498D87C-7F20-4B8D-BC34-040D0CC55BB7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0498D87C-7F20-4B8D-BC34-040D0CC55BB7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E6FA5F6D-7A09-4576-9447-A1661C214545}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E6FA5F6D-7A09-4576-9447-A1661C214545}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E6FA5F6D-7A09-4576-9447-A1661C214545}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E6FA5F6D-7A09-4576-9447-A1661C214545}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
@@ -12,5 +12,8 @@ public enum Specializations
|
||||
None = 0,
|
||||
Plasterer = 1,
|
||||
Painter = 2,
|
||||
Carpenter = 4
|
||||
Carpenter = 4,
|
||||
Electrician = 8,
|
||||
Plumber = 16,
|
||||
Mason = 32
|
||||
}
|
||||
|
||||
@@ -9,10 +9,9 @@ namespace TwoFromTheCasketContracts.Enums;
|
||||
public enum TypeRoom
|
||||
{
|
||||
None = 0,
|
||||
Plasterer = 1,
|
||||
Painter = 2,
|
||||
Carpenter = 4,
|
||||
Electrician = 8,
|
||||
Plumber = 16,
|
||||
Mason = 32
|
||||
Residential = 1,
|
||||
Office = 2,
|
||||
Storage = 3,
|
||||
Industrial = 4,
|
||||
PublicBuilding = 5
|
||||
}
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
using TwoFromTheCasketContracts.DataModels;
|
||||
using TwoFromTheCasketContracts.Exceptions;
|
||||
|
||||
namespace TwoFromTheCasketTests.DataModelsTests;
|
||||
|
||||
[TestFixture]
|
||||
internal class ComplitedWorkDataModelTests
|
||||
{
|
||||
[Test]
|
||||
public void IdIsNullOrEmptyTest()
|
||||
{
|
||||
List<WorkerComplitedWorkDataModel> workers = new List<WorkerComplitedWorkDataModel> { new("1", "2", 3) };
|
||||
|
||||
var complitedWork = CreateDataModel(null, "1", "2", workers);
|
||||
Assert.That(() => complitedWork.Validate(), Throws.TypeOf<ValidationException>());
|
||||
|
||||
complitedWork = CreateDataModel(string.Empty, "1", "2", workers);
|
||||
Assert.That(() => complitedWork.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IdIsNotGuidTest()
|
||||
{
|
||||
List<WorkerComplitedWorkDataModel> workers = new List<WorkerComplitedWorkDataModel> { new("1", "2", 3) };
|
||||
|
||||
var complitedWork = CreateDataModel("not-a-guid", "1", "2", workers);
|
||||
Assert.That(() => complitedWork.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void WorkIdIsNullOrEmptyTest()
|
||||
{
|
||||
List<WorkerComplitedWorkDataModel> workers = new List<WorkerComplitedWorkDataModel> { new("1", "2", 3) };
|
||||
|
||||
var complitedWork = CreateDataModel("1", null, "2", workers);
|
||||
Assert.That(() => complitedWork.Validate(), Throws.TypeOf<ValidationException>());
|
||||
|
||||
complitedWork = CreateDataModel("1", string.Empty, "2", workers);
|
||||
Assert.That(() => complitedWork.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void WorkIdIsNotGuidTest()
|
||||
{
|
||||
List<WorkerComplitedWorkDataModel> workers = new List<WorkerComplitedWorkDataModel> { new("1", "2", 3) };
|
||||
|
||||
var complitedWork = CreateDataModel("1", "not-a-guid", "2", workers);
|
||||
Assert.That(() => complitedWork.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void RoomIdIsNullOrEmptyTest()
|
||||
{
|
||||
List<WorkerComplitedWorkDataModel> workers = new List<WorkerComplitedWorkDataModel> { new("1", "2", 3) };
|
||||
|
||||
var complitedWork = CreateDataModel("1", "2", null, workers);
|
||||
Assert.That(() => complitedWork.Validate(), Throws.TypeOf<ValidationException>());
|
||||
|
||||
complitedWork = CreateDataModel("1", "2", string.Empty, workers);
|
||||
Assert.That(() => complitedWork.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void RoomIdIsNotGuidTest()
|
||||
{
|
||||
List<WorkerComplitedWorkDataModel> workers = new List<WorkerComplitedWorkDataModel> { new("1", "2", 3) };
|
||||
|
||||
var complitedWork = CreateDataModel("1", "2", "not-a-guid", workers);
|
||||
Assert.That(() => complitedWork.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void WorkersIsNullOrEmptyTest()
|
||||
{
|
||||
var complitedWork = CreateDataModel("1", "2", "3", null);
|
||||
Assert.That(() => complitedWork.Validate(), Throws.TypeOf<ValidationException>());
|
||||
|
||||
complitedWork = CreateDataModel("1", "2", "3", new List<WorkerComplitedWorkDataModel>());
|
||||
Assert.That(() => complitedWork.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void AllFieldsIsCorrectTest()
|
||||
{
|
||||
var id = Guid.NewGuid().ToString();
|
||||
var workId = Guid.NewGuid().ToString();
|
||||
var roomId = Guid.NewGuid().ToString();
|
||||
var workers = new List<WorkerComplitedWorkDataModel>
|
||||
{
|
||||
new(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5)
|
||||
};
|
||||
|
||||
var complitedWork = CreateDataModel(id, workId, roomId, workers);
|
||||
|
||||
Assert.That(() => complitedWork.Validate(), Throws.Nothing);
|
||||
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(complitedWork.Id, Is.EqualTo(id));
|
||||
Assert.That(complitedWork.WorkId, Is.EqualTo(workId));
|
||||
Assert.That(complitedWork.RoomId, Is.EqualTo(roomId));
|
||||
Assert.That(complitedWork.Workers, Is.EquivalentTo(workers));
|
||||
});
|
||||
}
|
||||
|
||||
private static ComplitedWorkDataModel CreateDataModel(string? id, string? workId, string? roomId, List<WorkerComplitedWorkDataModel>? workers)
|
||||
=> new(id, workId, roomId, workers);
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
using TwoFromTheCasketContracts.DataModels;
|
||||
using TwoFromTheCasketContracts.Exceptions;
|
||||
using TwoFromTheCasketContracts.Enums;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace TwoFromTheCasketTests.DataModelsTests;
|
||||
|
||||
[TestFixture]
|
||||
internal class RoomsDataModelTests
|
||||
{
|
||||
[Test]
|
||||
public void IdIsNullOrEmptyTest()
|
||||
{
|
||||
var room = CreateDataModel(null, "Ленина, д. 5", 50, TypeRoom.Office);
|
||||
Assert.That(() => room.Validate(), Throws.TypeOf<ValidationException>());
|
||||
|
||||
room = CreateDataModel(string.Empty, "Ленина, д. 5", 50, TypeRoom.Office);
|
||||
Assert.That(() => room.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IdIsNotGuidTest()
|
||||
{
|
||||
var room = CreateDataModel("not-a-guid", "Ленина, д. 5", 50, TypeRoom.Office);
|
||||
Assert.That(() => room.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void AddressIsEmptyOrInvalidTest()
|
||||
{
|
||||
var room = CreateDataModel(Guid.NewGuid().ToString(), "", 50, TypeRoom.Office);
|
||||
Assert.That(() => room.Validate(), Throws.TypeOf<ValidationException>());
|
||||
|
||||
room = CreateDataModel(Guid.NewGuid().ToString(), "Invalid Address", 50, TypeRoom.Office);
|
||||
Assert.That(() => room.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void SpaceIsNegativeOrZeroTest()
|
||||
{
|
||||
var room = CreateDataModel(Guid.NewGuid().ToString(), "Ленина, д. 5", 0, TypeRoom.Office);
|
||||
Assert.That(() => room.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TypeIsNoneTest()
|
||||
{
|
||||
var room = CreateDataModel(Guid.NewGuid().ToString(), "Ленина, д. 5", 50, TypeRoom.None);
|
||||
Assert.That(() => room.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void AllFieldsIsCorrectTest()
|
||||
{
|
||||
var id = Guid.NewGuid().ToString();
|
||||
var address = "Ленина, д. 5";
|
||||
var space = 50.0;
|
||||
var type = TypeRoom.Office;
|
||||
|
||||
var room = CreateDataModel(id, address, space, type);
|
||||
Assert.That(() => room.Validate(), Throws.Nothing);
|
||||
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(room.Id, Is.EqualTo(id));
|
||||
Assert.That(room.Address, Is.EqualTo(address));
|
||||
Assert.That(room.Space, Is.EqualTo(space));
|
||||
Assert.That(room.Type, Is.EqualTo(type));
|
||||
});
|
||||
}
|
||||
|
||||
private static RoomsDataModel CreateDataModel(string? id, string address, double space, TypeRoom type)
|
||||
=> new(id, address, space, type);
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
using TwoFromTheCasketContracts.DataModels;
|
||||
using TwoFromTheCasketContracts.Exceptions;
|
||||
|
||||
namespace TwoFromTheCasketTests.DataModelsTests;
|
||||
|
||||
[TestFixture]
|
||||
internal class SalaryHistoryDataModelTests
|
||||
{
|
||||
[Test]
|
||||
public void IdIsNullOrEmptyTest()
|
||||
{
|
||||
var salaryHistory = CreateDataModel(null, Guid.NewGuid().ToString(), 50000);
|
||||
Assert.That(() => salaryHistory.Validate(), Throws.TypeOf<ValidationException>());
|
||||
|
||||
salaryHistory = CreateDataModel(string.Empty, Guid.NewGuid().ToString(), 50000);
|
||||
Assert.That(() => salaryHistory.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IdIsNotGuidTest()
|
||||
{
|
||||
var salaryHistory = CreateDataModel("not-a-guid", Guid.NewGuid().ToString(), 50000);
|
||||
Assert.That(() => salaryHistory.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void WorkerIdIsNullOrEmptyTest()
|
||||
{
|
||||
var salaryHistory = CreateDataModel(Guid.NewGuid().ToString(), null, 50000);
|
||||
Assert.That(() => salaryHistory.Validate(), Throws.TypeOf<ValidationException>());
|
||||
|
||||
salaryHistory = CreateDataModel(Guid.NewGuid().ToString(), string.Empty, 50000);
|
||||
Assert.That(() => salaryHistory.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void SumIsNegativeOrZeroTest()
|
||||
{
|
||||
var salaryHistory = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 0);
|
||||
Assert.That(() => salaryHistory.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void AllFieldsIsCorrectTest()
|
||||
{
|
||||
var id = Guid.NewGuid().ToString();
|
||||
var workerId = Guid.NewGuid().ToString();
|
||||
var sum = 50000;
|
||||
|
||||
var salaryHistory = CreateDataModel(id, workerId, sum);
|
||||
Assert.That(() => salaryHistory.Validate(), Throws.Nothing);
|
||||
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(salaryHistory.Id, Is.EqualTo(id));
|
||||
Assert.That(salaryHistory.WorkerId, Is.EqualTo(workerId));
|
||||
Assert.That(salaryHistory.Sum, Is.EqualTo(sum));
|
||||
});
|
||||
}
|
||||
|
||||
private static SalaryHistoryDataModel CreateDataModel(string? id, string? workerId, double sum)
|
||||
=> new(id, workerId, sum);
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
using TwoFromTheCasketContracts.DataModels;
|
||||
using TwoFromTheCasketContracts.Exceptions;
|
||||
using TwoFromTheCasketContracts.Enums;
|
||||
|
||||
namespace TwoFromTheCasketTests.DataModelsTests;
|
||||
|
||||
[TestFixture]
|
||||
internal class WorkDataModelTests
|
||||
{
|
||||
[Test]
|
||||
public void IdIsNullOrEmptyTest()
|
||||
{
|
||||
var work = CreateDataModel(null, TypeWork.Plaster, "Штукатурка стен", DateTime.Now);
|
||||
Assert.That(() => work.Validate(), Throws.TypeOf<ValidationException>());
|
||||
|
||||
work = CreateDataModel(string.Empty, TypeWork.Plaster, "Штукатурка стен", DateTime.Now);
|
||||
Assert.That(() => work.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IdIsNotGuidTest()
|
||||
{
|
||||
var work = CreateDataModel("not-a-guid", TypeWork.Plaster, "Штукатурка стен", DateTime.Now);
|
||||
Assert.That(() => work.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DescriptionIsEmptyTest()
|
||||
{
|
||||
var work = CreateDataModel(Guid.NewGuid().ToString(), TypeWork.Plaster, "", DateTime.Now);
|
||||
Assert.That(() => work.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DateIsInPastTest()
|
||||
{
|
||||
var work = CreateDataModel(Guid.NewGuid().ToString(), TypeWork.Plaster, "Штукатурка стен", DateTime.Now.AddDays(-1));
|
||||
Assert.That(() => work.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TypeIsNoneTest()
|
||||
{
|
||||
var work = CreateDataModel(Guid.NewGuid().ToString(), TypeWork.None, "Штукатурка стен", DateTime.Now);
|
||||
Assert.That(() => work.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void AllFieldsIsCorrectTest()
|
||||
{
|
||||
var id = Guid.NewGuid().ToString();
|
||||
var type = TypeWork.Plaster;
|
||||
var description = "Штукатурка стен";
|
||||
var date = DateTime.Now.AddDays(10);
|
||||
|
||||
var work = CreateDataModel(id, type, description, date);
|
||||
Assert.That(() => work.Validate(), Throws.Nothing);
|
||||
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(work.Id, Is.EqualTo(id));
|
||||
Assert.That(work.Type, Is.EqualTo(type));
|
||||
Assert.That(work.Description, Is.EqualTo(description));
|
||||
Assert.That(work.Date, Is.EqualTo(date));
|
||||
});
|
||||
}
|
||||
|
||||
private static WorkDataModel CreateDataModel(string? id, TypeWork type, string description, DateTime date)
|
||||
=> new(id, type, description, date);
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
using TwoFromTheCasketContracts.DataModels;
|
||||
using TwoFromTheCasketContracts.Exceptions;
|
||||
|
||||
namespace TwoFromTheCasketTests.DataModelsTests;
|
||||
|
||||
[TestFixture]
|
||||
internal class WorkerComplitedWorkDataModelTests
|
||||
{
|
||||
[Test]
|
||||
public void WorkerIdIsNullOrEmptyTest()
|
||||
{
|
||||
var model = CreateDataModel(null, Guid.NewGuid().ToString(), 8);
|
||||
Assert.That(() => model.Validate(), Throws.TypeOf<ValidationException>());
|
||||
|
||||
model = CreateDataModel(string.Empty, Guid.NewGuid().ToString(), 8);
|
||||
Assert.That(() => model.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void WorkerIdIsNotGuidTest()
|
||||
{
|
||||
var model = CreateDataModel("not-a-guid", Guid.NewGuid().ToString(), 8);
|
||||
Assert.That(() => model.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ComplitedWorkIdIsNullOrEmptyTest()
|
||||
{
|
||||
var model = CreateDataModel(Guid.NewGuid().ToString(), null, 8);
|
||||
Assert.That(() => model.Validate(), Throws.TypeOf<ValidationException>());
|
||||
|
||||
model = CreateDataModel(Guid.NewGuid().ToString(), string.Empty, 8);
|
||||
Assert.That(() => model.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ComplitedWorkIdIsNotGuidTest()
|
||||
{
|
||||
var model = CreateDataModel(Guid.NewGuid().ToString(), "not-a-guid", 8);
|
||||
Assert.That(() => model.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void NumberOfWorkingHoursIsZeroOrNegativeTest()
|
||||
{
|
||||
var model = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 0);
|
||||
Assert.That(() => model.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void AllFieldsIsCorrectTest()
|
||||
{
|
||||
var workerId = Guid.NewGuid().ToString();
|
||||
var complitedWorkId = Guid.NewGuid().ToString();
|
||||
var hours = 10;
|
||||
|
||||
var model = CreateDataModel(workerId, complitedWorkId, hours);
|
||||
Assert.That(() => model.Validate(), Throws.Nothing);
|
||||
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(model.WorkerId, Is.EqualTo(workerId));
|
||||
Assert.That(model.ComplitedWorkId, Is.EqualTo(complitedWorkId));
|
||||
Assert.That(model.NumberOfWorkingHours, Is.EqualTo(hours));
|
||||
});
|
||||
}
|
||||
|
||||
private static WorkerComplitedWorkDataModel CreateDataModel(string? workerId, string? complitedWorkId, double hours)
|
||||
=> new(workerId, complitedWorkId, hours);
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
using TwoFromTheCasketContracts.DataModels;
|
||||
using TwoFromTheCasketContracts.Exceptions;
|
||||
using TwoFromTheCasketContracts.Enums;
|
||||
|
||||
namespace TwoFromTheCasketTests.DataModelsTests;
|
||||
|
||||
[TestFixture]
|
||||
internal class WorkerDataModelTests
|
||||
{
|
||||
[Test]
|
||||
public void IdIsNullOrEmptyTest()
|
||||
{
|
||||
var worker = CreateDataModel(null, "John Doe", Specializations.Plasterer, 50000, "+7-777-777-77-77", DateTime.Now.AddYears(-25));
|
||||
Assert.That(() => worker.Validate(), Throws.TypeOf<ValidationException>());
|
||||
|
||||
worker = CreateDataModel(string.Empty, "John Doe", Specializations.Plasterer, 50000, "+7-777-777-77-77", DateTime.Now.AddYears(-25));
|
||||
Assert.That(() => worker.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IdIsNotGuidTest()
|
||||
{
|
||||
var worker = CreateDataModel("not-a-guid", "John Doe", Specializations.Plasterer, 50000, "+7-777-777-77-77", DateTime.Now.AddYears(-25));
|
||||
Assert.That(() => worker.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void FIOIsEmptyTest()
|
||||
{
|
||||
var worker = CreateDataModel(Guid.NewGuid().ToString(), "", Specializations.Plasterer, 50000, "+7-777-777-77-77", DateTime.Now.AddYears(-25));
|
||||
Assert.That(() => worker.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void SpecializationIsNoneTest()
|
||||
{
|
||||
var worker = CreateDataModel(Guid.NewGuid().ToString(), "John Doe", Specializations.None, 50000, "+7-777-777-77-77", DateTime.Now.AddYears(-25));
|
||||
Assert.That(() => worker.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void PhoneNumberIsEmptyOrInvalidTest()
|
||||
{
|
||||
var worker = CreateDataModel(Guid.NewGuid().ToString(), "John Doe", Specializations.Plasterer, 50000, string.Empty, DateTime.Now.AddYears(-25));
|
||||
Assert.That(() => worker.Validate(), Throws.TypeOf<ValidationException>());
|
||||
|
||||
worker = CreateDataModel(Guid.NewGuid().ToString(), "John Doe", Specializations.Plasterer, 50000, "invalid-phone", DateTime.Now.AddYears(-25));
|
||||
Assert.That(() => worker.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DateBirthDayIsTooYoungTest()
|
||||
{
|
||||
var worker = CreateDataModel(Guid.NewGuid().ToString(), "John Doe", Specializations.Plasterer, 50000, "+7-777-777-77-77", DateTime.Now.AddYears(-15));
|
||||
Assert.That(() => worker.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void AllFieldsIsCorrectTest()
|
||||
{
|
||||
var id = Guid.NewGuid().ToString();
|
||||
var fio = "John Doe";
|
||||
var specialization = Specializations.Plasterer;
|
||||
var salary = 50000;
|
||||
var phoneNumber = "+7-777-777-77-77";
|
||||
var dateBirthday = DateTime.Now.AddYears(-25);
|
||||
|
||||
var worker = CreateDataModel(id, fio, specialization, salary, phoneNumber, dateBirthday);
|
||||
Assert.That(() => worker.Validate(), Throws.Nothing);
|
||||
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(worker.Id, Is.EqualTo(id));
|
||||
Assert.That(worker.FIO, Is.EqualTo(fio));
|
||||
Assert.That(worker.Specialization, Is.EqualTo(specialization));
|
||||
Assert.That(worker.Salary, Is.EqualTo(salary));
|
||||
Assert.That(worker.PhoneNumber, Is.EqualTo(phoneNumber));
|
||||
Assert.That(worker.DateBirthDay, Is.EqualTo(dateBirthday));
|
||||
});
|
||||
}
|
||||
|
||||
private static WorkerDataModel CreateDataModel(string? id, string fio, Specializations specialization, double salary, string phoneNumber, DateTime dateBirthday)
|
||||
=> new(id, fio, specialization, salary, phoneNumber, dateBirthday);
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<IsPackable>false</IsPackable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="coverlet.collector" Version="6.0.2" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
|
||||
<PackageReference Include="NUnit" Version="4.2.2" />
|
||||
<PackageReference Include="NUnit.Analyzers" Version="4.3.0" />
|
||||
<PackageReference Include="NUnit3TestAdapter" Version="4.6.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\TwoFromTheCasketContracts\TwoFromTheCasketContracts.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Using Include="NUnit.Framework" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
Reference in New Issue
Block a user