Opa galera, tudo bem ?Espero que sim !
Seguinte, eu estou implementando alguns testes e me deparei com a situação a seguir:
Tenho uma classe de Estacionamento, essa classe possui uma propriedade:
public List<OpeningHour> OpeningHours { get; set; }
Por sua vez, minha classe de OpeningHour tem outras duas propriedades:
public class OpeningHour
{
public Period Open { get; set; }
public Period Close { get; set; }
}
Essas propriedades são do tipo Period que é uma outra classe :
public class Period
{
public DayOfWeek DayOfWeek { get; set; }
public byte Hours { get; set; }
public byte Minutes { get; set; }
}
Meu codigo abaixo é a implementação de um teste, onde eu estou tentando pegar as horas em que o estacionamento está aberto e que horas ele fecha.
o parâmetro string linha é uma string enorme que eu faço alguns splits, o resultado desse split é o comentário que você vê logo ali no meio do código.
public List<OpeningHour> ObterHorasFuncionamento(string linha)
{
//return new List<OpeningHour>();
string[] colunas = GetColunas(linha);
var horas = new List<OpeningHour>();
// Domingo - 06:00 - 12:00; Segunda - 05:00 - 23:00; Terça - 05:00 - 23:00; Quarta - 05:00 - 23:00; Quinta - 05:00 - 23:00; Sexta - 05:00 - 23:00; Sábado - 06:00 - 20:00
string[] primeiraSplit = colunas[14].Split(";");
foreach (var dias in primeiraSplit)
{
string[] segundaSplit = colunas[14].Split("-");
OpeningHour dados = new OpeningHour();
horas.Add(dados);
}
return horas;
}
Logo abaixo é o código do meu teste:
[Fact]
public void Obter_Horario_Funcionamento()
{
var domingo = new OpeningHour()
{
Open = new Period
{
DayOfWeek = DayOfWeek.Sunday,
Hours = 6,
Minutes = 00
},
Close = new Period
{
DayOfWeek = DayOfWeek.Sunday,
Hours = 12,
Minutes = 00
}
};
ImportaEstacionamento importador = new ImportaEstacionamento();
var hrsFuncionamento = importador.ObterHorasFuncionamento(linha);
Assert.Equal(hrsFuncionamento[0].Open.DayOfWeek, domingo.Open.DayOfWeek);
Assert.Equal(hrsFuncionamento[1].Close.DayOfWeek, domingo.Close.DayOfWeek);
}
O problema que estou tendo é que na hora de rodar o teste, as propriedades Open e Close, ou seja os dados que tento adicionar em horas, vem nullos, e não sei como fica o código para eles serem populados.
Galera, sei que ficou grande o post, mas agradeço pra quem tiver saco para ler haha ! Bom fim de semana ae :D