80 lines
2.8 KiB
C#
80 lines
2.8 KiB
C#
using SmallSoftwareContracts.DataModels;
|
|
using SmallSoftwareContracts.Exceptions;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace SmallSoftwareTests.DataModelsTests;
|
|
[TestFixture]
|
|
public class SupplySoftwareDataModelTests
|
|
{
|
|
[Test]
|
|
public void SupplyIdIsNullOrEmptyTest()
|
|
{
|
|
var supplySoftware = CreateDataModel(null, Guid.NewGuid().ToString(), 5);
|
|
Assert.That(() => supplySoftware.Validate(), Throws.TypeOf<ValidationException>());
|
|
|
|
supplySoftware = CreateDataModel(string.Empty, Guid.NewGuid().ToString(), 5);
|
|
Assert.That(() => supplySoftware.Validate(), Throws.TypeOf<ValidationException>());
|
|
}
|
|
|
|
[Test]
|
|
public void SupplyIdIsNotGuidTest()
|
|
{
|
|
var supplySoftware = CreateDataModel("invalid-id", Guid.NewGuid().ToString(), 5);
|
|
Assert.That(() => supplySoftware.Validate(), Throws.TypeOf<ValidationException>());
|
|
}
|
|
|
|
[Test]
|
|
public void SoftwareIdIsNullOrEmptyTest()
|
|
{
|
|
var supplySoftware = CreateDataModel(Guid.NewGuid().ToString(), null, 5);
|
|
Assert.That(() => supplySoftware.Validate(), Throws.TypeOf<ValidationException>());
|
|
|
|
supplySoftware = CreateDataModel(Guid.NewGuid().ToString(), string.Empty, 5);
|
|
Assert.That(() => supplySoftware.Validate(), Throws.TypeOf<ValidationException>());
|
|
}
|
|
|
|
[Test]
|
|
public void SoftwareIdIsNotGuidTest()
|
|
{
|
|
var supplySoftware = CreateDataModel(Guid.NewGuid().ToString(), "invalid-id", 5);
|
|
Assert.That(() => supplySoftware.Validate(), Throws.TypeOf<ValidationException>());
|
|
}
|
|
|
|
[Test]
|
|
public void CountIsLessThanOrEqualToZeroTest()
|
|
{
|
|
var supplySoftware = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 0);
|
|
Assert.That(() => supplySoftware.Validate(), Throws.TypeOf<ValidationException>());
|
|
|
|
supplySoftware = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), -5);
|
|
Assert.That(() => supplySoftware.Validate(), Throws.TypeOf<ValidationException>());
|
|
}
|
|
|
|
[Test]
|
|
public void AllFieldsAreCorrectTest()
|
|
{
|
|
var supplyId = Guid.NewGuid().ToString();
|
|
var softwareId = Guid.NewGuid().ToString();
|
|
var count = 10;
|
|
|
|
var supplySoftware = CreateDataModel(supplyId, softwareId, count);
|
|
|
|
Assert.That(() => supplySoftware.Validate(), Throws.Nothing);
|
|
Assert.Multiple(() =>
|
|
{
|
|
Assert.That(supplySoftware.SupplyId, Is.EqualTo(supplyId));
|
|
Assert.That(supplySoftware.SoftwareId, Is.EqualTo(softwareId));
|
|
Assert.That(supplySoftware.Count, Is.EqualTo(count));
|
|
});
|
|
}
|
|
|
|
private static SupplySoftwareDataModel CreateDataModel(string storageId, string softwareId, int count)
|
|
{
|
|
return new SupplySoftwareDataModel(storageId, softwareId, count);
|
|
}
|
|
}
|