Files
social-media/tests/Domain.UnitTests/ValueObjects/ColourTests.cs
2024-03-09 20:25:30 -05:00

51 lines
1.1 KiB
C#

using Hutopy.Domain.Exceptions;
using Hutopy.Domain.ValueObjects;
using FluentAssertions;
using NUnit.Framework;
namespace Hutopy.Domain.UnitTests.ValueObjects;
public class ColourTests
{
[Test]
public void ShouldReturnCorrectColourCode()
{
var code = "#FFFFFF";
var colour = Colour.From(code);
colour.Code.Should().Be(code);
}
[Test]
public void ToStringReturnsCode()
{
var colour = Colour.White;
colour.ToString().Should().Be(colour.Code);
}
[Test]
public void ShouldPerformImplicitConversionToColourCodeString()
{
string code = Colour.White;
code.Should().Be("#FFFFFF");
}
[Test]
public void ShouldPerformExplicitConversionGivenSupportedColourCode()
{
var colour = (Colour)"#FFFFFF";
colour.Should().Be(Colour.White);
}
[Test]
public void ShouldThrowUnsupportedColourExceptionGivenNotSupportedColourCode()
{
FluentActions.Invoking(() => Colour.From("##FF33CC"))
.Should().Throw<UnsupportedColourException>();
}
}