public EnumDias BuscaDiaSemana(EnumDias dia, int intervalo) { if (intervalo < 1) { throw new Exception(this.MsgErroInvalido); } int posicao = (int)dia; int mod; if (intervalo > 7) { mod = intervalo % 7; } else { mod = intervalo; } int novaPosicao = mod + posicao; if (novaPosicao > 7) { novaPosicao = -7; } return(dicionario.Where(x => x.Key == novaPosicao).First().Value); }
static void Main(string[] args) { try { var diaSemana = new DiaSemana(); EnumDias dia = EnumDias.Seg; int intervalo = 5; Console.WriteLine(diaSemana.BuscaDiaSemana(dia, intervalo)); } catch (System.Exception) { Console.WriteLine("Houve um erro ao tentar buscar o dia da semana"); } }
public void Busca18Dias() { resultado = objDiaSemana.BuscaDiaSemana(EnumDias.Qua, 18); Assert.AreEqual(EnumDias.Dom, resultado); }
public void BuscaQuantidadeDiasInvalido() { resultado = objDiaSemana.BuscaDiaSemana(EnumDias.Qui, -3); }
public void Busca5Dias() { resultado = objDiaSemana.BuscaDiaSemana(EnumDias.Seg, 5); Assert.AreEqual(EnumDias.Sab, resultado); }