51 lines
1.1 KiB
C#
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>();
|
|
}
|
|
}
|