71 lines
2.7 KiB
C#
71 lines
2.7 KiB
C#
using ClassLibrary1;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Test;
|
|
|
|
[TestFixture]
|
|
internal class ArticleTests
|
|
{
|
|
[Test]
|
|
public void IdIsNullOrEmptyTest()
|
|
{
|
|
var article = CreateArticle(null, Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), DateTime.UtcNow.AddDays(-1));
|
|
Assert.That(() => article.Validate(), Throws.TypeOf<ValidationException>());
|
|
|
|
article = CreateArticle(string.Empty, Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), DateTime.UtcNow.AddDays(-1));
|
|
Assert.That(() => article.Validate(), Throws.TypeOf<ValidationException>());
|
|
}
|
|
|
|
[Test]
|
|
public void IdIsNotGuidTest()
|
|
{
|
|
var article = CreateArticle("not-a-guid", Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), DateTime.UtcNow.AddDays(-1));
|
|
Assert.That(() => article.Validate(), Throws.TypeOf<ValidationException>());
|
|
}
|
|
|
|
[Test]
|
|
public void TitleIsNullOrEmptyTest()
|
|
{
|
|
var article = CreateArticle(Guid.NewGuid().ToString(), null, Guid.NewGuid().ToString(), DateTime.UtcNow.AddDays(-1));
|
|
Assert.That(() => article.Validate(), Throws.TypeOf<ValidationException>());
|
|
|
|
article = CreateArticle(Guid.NewGuid().ToString(), string.Empty, Guid.NewGuid().ToString(), DateTime.UtcNow.AddDays(-1));
|
|
Assert.That(() => article.Validate(), Throws.TypeOf<ValidationException>());
|
|
}
|
|
[Test]
|
|
public void TemaIsNullOrEmptyTest()
|
|
{
|
|
var article = CreateArticle(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), null, DateTime.UtcNow.AddDays(-1));
|
|
Assert.That(() => article.Validate(), Throws.TypeOf<ValidationException>());
|
|
|
|
article = CreateArticle(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), string.Empty, DateTime.UtcNow.AddDays(-1));
|
|
Assert.That(() => article.Validate(), Throws.TypeOf<ValidationException>());
|
|
}
|
|
|
|
[Test]
|
|
public void AllFieldsAreCorrectTest()
|
|
{
|
|
var id = Guid.NewGuid().ToString();
|
|
var title = Guid.NewGuid().ToString();
|
|
var tema = Guid.NewGuid().ToString();
|
|
var dateCreat = DateTime.UtcNow.AddDays(-1);
|
|
var article = CreateArticle(id, title, tema, dateCreat);
|
|
|
|
Assert.That(() => article.Validate(), Throws.Nothing);
|
|
Assert.Multiple(() =>
|
|
{
|
|
Assert.That(article.Id, Is.EqualTo(id));
|
|
Assert.That(article.Title, Is.EqualTo(title));
|
|
Assert.That(article.Tema, Is.EqualTo(tema));
|
|
Assert.That(article.DateCreat, Is.EqualTo(dateCreat));
|
|
});
|
|
}
|
|
|
|
private static Article CreateArticle(string? id, string? title, string? tema, DateTime dateCreat) =>
|
|
new(id, title, tema, dateCreat);
|
|
}
|