Oi Igor! Tudo certo?
O erro System.ArgumentOutOfRangeException indica que o índice que você está tentando acessar está fora do intervalo da coleção. Vamos ver o que pode estar acontecendo:
Verifique a Lista: Certifique-se de que a lista que você está tentando acessar tem elementos antes de acessar o índice. No seu teste, você está acessando resultado.Successes[0]. Verifique se resultado.Successes realmente contém elementos antes de tentar acessar o índice 0.
Mock Correto: Assegure-se de que o mock que você está usando (LeitorDeArquivosMockBuilder.GetMock(listaDePet)) está configurado corretamente para retornar uma lista não vazia quando o método RealizaLeitura() é chamado. Se RealizaLeitura() não estiver retornando a lista esperada, resultado.Successes pode acabar sendo vazio.
Verifique o Setup do Mock: No trecho leitor.Setup(_ => _.RealizaLeitura());, certifique-se de que está configurando o mock para retornar a lista de pets corretamente. Pode ser necessário usar .ReturnsAsync(listaDePet) ou algo similar para garantir que o mock está retornando a lista esperada.
Teste o Comportamento: Antes de acessar resultado.Successes[0], você pode adicionar uma verificação para garantir que resultado.Successes não está vazio. Por exemplo:
Assert.NotEmpty(resultado.Successes);
Aqui está um exemplo de como você poderia ajustar o teste para verificar se a lista não está vazia antes de acessar o índice:
//Assert
Assert.NotNull(resultado);
Assert.NotEmpty(resultado.Successes); // Verifica se há elementos
var sucesso = (SuccessWithPets)resultado.Successes[0];
Assert.Equal("Exibição do arquivo realizada com sucesso!", sucesso.Message);
Espero que essas dicas te ajudem a resolver o problema! Bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.