using PapaCarloContracts.DataModels; using PapaCarloContracts.Exceptions; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PapaCarloTests.DataModelsTests; [TestFixture] internal class BlankDataModelTests { [Test] public void IdIsNullEmptyTest() { var blank = CreateDataModel(null, "name"); Assert.That(() => blank.Validate(), Throws.TypeOf()); blank = CreateDataModel(string.Empty, "name"); Assert.That(() => blank.Validate(), Throws.TypeOf()); } [Test] public void IdIsNotGuidTest() { var blank = CreateDataModel("id", "name"); Assert.That(() => blank.Validate(), Throws.TypeOf()); } [Test] public void BlankNameIsNullOrEmptyTest() { var blank = CreateDataModel(Guid.NewGuid().ToString(), null); Assert.That(() => blank.Validate(), Throws.TypeOf()); blank = CreateDataModel(Guid.NewGuid().ToString(), string.Empty); Assert.That(() => blank.Validate(), Throws.TypeOf()); } [Test] public void AllFieldsIsCorrectTest() { var blankId = Guid.NewGuid().ToString(); var blankName = "name"; var prevBlankName = "prevBlankName"; var prevPrevBlankName = "prevPrevBlankName"; var blank = CreateDataModel(blankId, blankName, prevBlankName, prevPrevBlankName); Assert.That(() => blank.Validate(), Throws.Nothing); Assert.Multiple(() => { Assert.That(blank.Id, Is.EqualTo(blankId)); Assert.That(blank.BlankName, Is.EqualTo(blankName)); Assert.That(blank.PrevBlankName, Is.EqualTo(prevBlankName)); Assert.That(blank.PrevPrevBlankName, Is.EqualTo(prevPrevBlankName)); }); } private static BlankDataModel CreateDataModel(string? id, string? blankName, string? prevBlankName = null, string? prevPrevBlankName = null) => new(id, blankName, prevBlankName, prevPrevBlankName); }