73 lines
2.7 KiB
C#
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);
|
|||
|
}
|
|||
|
}
|