Olá! Tentei fazer como foi mostrado na solução do exercício 1, mas aqui está dando erro. Debuguei e parece que na fase de teste, ele está passando primeiro o valor null para depois passar o -1, e por isso está dando erro, acredito. O que devo fazer? Segue meu código:
Classe Musica
namespace ScreenSound.Models;
internal class Musica
{
private int? anoLancamento;
public Musica(Banda artista, string nome)
{
Artista = artista;
Nome = nome;
}
public string Nome { get; }
public Banda Artista { get; }
public int Duracao { get; set; }
public bool Disponivel { get; set; }
public string DescricaoResumida => $"A música {Nome} pertence à banda {Artista}";
public int? AnoLancamento
{
get => anoLancamento;
set
{
if (AnoLancamento <= 0)
{
anoLancamento = null;
}
else
{
anoLancamento = value;
}
}
}
}
Classe MusicaConstrutor
[Fact]
public void RetornaAnoDeLancamentoNuloQuandoValorEhMenorQueZero()
{
// Arrange
int anoInvalido = -1;
Banda banda = new Banda("Wallows");
Musica musica = new Musica(banda, "Test song");
// Act
musica.AnoLancamento = anoInvalido;
// Assert
Assert.Null(musica.AnoLancamento);
}