ne_kroman 1ebb95b7b1 lab1
2025-02-13 18:16:23 +04:00

73 lines
2.7 KiB
C#

using ElectricalRepairServiceContract.DataModels;
using ElectricalRepairServiceContract.Exceptions;
namespace ElectricalRepairServiceTests.DataModelsTests
{
[TestFixture]
internal class DetailsDataModelTest
{
[Test]
public void IdIsNullOrEmptyTest()
{
var details = CreateDataModel(null, "name", 1, 1, DateTime.Now);
Assert.That(() => details.Validate(), Throws.TypeOf<ValidationException>());
details = CreateDataModel(string.Empty, "name", 1, 1, DateTime.Now);
Assert.That(() => details.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void IdIsNotGuidTest()
{
var details = CreateDataModel("invalid-id", "name", 1, 1, DateTime.Now);
Assert.That(() => details.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void NameIsNullOrEmptyTest()
{
var details = CreateDataModel(Guid.NewGuid().ToString(), null, 1, 1, DateTime.Now);
Assert.That(() => details.Validate(), Throws.TypeOf<ValidationException>());
details = CreateDataModel(Guid.NewGuid().ToString(), string.Empty, 1, 1, DateTime.Now);
Assert.That(() => details.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void CountIsNegativeTest()
{
var details = CreateDataModel(Guid.NewGuid().ToString(), "name", -1, 10, DateTime.Now);
Assert.That(() => details.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void OldCountIsNegativeTest()
{
var details = CreateDataModel(Guid.NewGuid().ToString(), "name", 10, -1, DateTime.Now);
Assert.That(() => details.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void AllFieldsCorrectTest()
{
var id = Guid.NewGuid().ToString();
var name = "ValidName";
var count = 10;
var oldCount = 10;
var dateTime = DateTime.Now;
var details = CreateDataModel(id, name, count, oldCount, dateTime);
Assert.That(details.Id, Is.EqualTo(id));
Assert.That(details.Name, Is.EqualTo(name));
Assert.That(details.Count, Is.EqualTo(count));
Assert.That(details.OldCount, Is.EqualTo(oldCount));
Assert.That(details.UpdateDate, Is.EqualTo(dateTime));
}
private DetailsDataModel CreateDataModel(string id, string name, int count, int oldCount, DateTime dateTime)
=> new DetailsDataModel(id, name, count, oldCount, dateTime);
}
}