public void OTotalDeProdutosDoMesmoGrupoNaoPodeUltrapassarODefinido() { IRepositorioDeGrupoDeAlimentos repositorioDeGrupos = new RepositorioDeGrupoDeAlimentos();//poderia ser Mockado IServicoDeDieta servicoDieta = new ServicoDeDieta(repositorioDeGrupos); decimal metaCalorica = 200; int totalProdutosMesmoGrupo = 1; var combinacoes = servicoDieta.GerarCombinacoesDeAlimentosDeAcordoComAMetaCalorica(metaCalorica, totalProdutosMesmoGrupo); Assert.IsTrue(combinacoes.Any()); foreach (var combinacaoDeAlimentosDeDieta in combinacoes) { int totalDeElementos = combinacaoDeAlimentosDeDieta.Alimentos.Count(); var totalDeGruposDistintos = combinacaoDeAlimentosDeDieta .Alimentos .GroupBy(x => x.GrupoDeAlimento.Id) .Select(x => x.Key) .Count(); Assert.AreEqual(totalDeElementos, totalDeGruposDistintos); } }
public void ACombinacaoDeProdutosNaoPodeUltrapassarAMetaCalorica() { IRepositorioDeGrupoDeAlimentos repositorioDeGrupos = new RepositorioDeGrupoDeAlimentos();//poderia ser Mockado IServicoDeDieta servicoDieta = new ServicoDeDieta(repositorioDeGrupos); decimal metaCalorica = 300; var combinacoes = servicoDieta.GerarCombinacoesDeAlimentosDeAcordoComAMetaCalorica(metaCalorica, 1); Assert.IsTrue(combinacoes.Any()); foreach (var combinacaoDeAlimentosDeDieta in combinacoes) { var totalCalorico = combinacaoDeAlimentosDeDieta.Alimentos.Sum(x => x.ValorCalorico); Assert.IsTrue(totalCalorico <= metaCalorica); } }
static void Main(string[] args) { try { //INICIALIZAÇÃO: PODERIA ESTAR EM UM DI CONTAINER IRepositorioDeClientes repoClientes = new RepositorioDeClientes(); IRepositorioDeGrupoDeAlimentos repoGrupos = new RepositorioDeGrupoDeAlimentos(); IRepositorioDeConsultasNutricionais repoConsultas = new RepositorioDeConsultasNutricionais(); IServicoDeDieta servicoDieta = new ServicoDeDieta(repoGrupos); var personalNutriConsole = new PersonalNutriConsole(repoClientes, repoConsultas, servicoDieta); personalNutriConsole.Executar(); } catch (Exception e) { System.Console.WriteLine($"Desculpe, ocorreu um erro inesperado.\n Erro: {e.Message} \n StackTrace: {e.StackTrace}"); System.Console.ReadKey(); throw; } }