public void Input() { var inputs = new BaseInputsEntity { InputValue = new List <decimal> { 3, 4, new decimal(3.5), 5, new decimal(3.5), 4, 5, new decimal(5.5), 4, 5 } }; var resultado = new MedidasTendenciaApp().Build(inputs); Assert.IsTrue(resultado.MedidasTendenciaEntity.Media == new decimal(4.25)); Assert.IsTrue(resultado.MedidasTendenciaEntity.Mediana == 4); Assert.IsTrue(resultado.MedidasTendenciaEntity.Moda[0] == 4 && resultado.MedidasTendenciaEntity.Moda[1] == 5); }
public VariavelDiscretaContainerEntity Build(BaseInputsEntity baseInputs) { var f = new List <decimal>(); var fePorcentList = new List <decimal>(); var listaVariavelDiscreta = new List <VariavelDiscretaEntity>(); var media = MathCoreApp.MediaComum(baseInputs.InputValue); var agrupamento = new AgrupamentoApp().Build(baseInputs.Rol); foreach (var item in agrupamento) { var fePorcent = MathCoreApp.Porcentagem(item.Quantidade, agrupamento.Select(q => q.Quantidade).Sum()); f.Add(item.Quantidade); fePorcentList.Add(fePorcent); listaVariavelDiscreta.Add(new VariavelDiscretaEntity { XI = item.XI, FI = item.Quantidade, FEPorcent = Math.Round(fePorcent, 2), F = f.Sum(), FPorcent = fePorcentList.Sum(), XIFI = item.XI * item.Quantidade, XIFIQuadFI = PreencherXIFIQUADFI(item.XI, media, item.Quantidade), }); } var medidasTendenciaApp = new MedidasTendenciaApp().Calcular(baseInputs.InputValue); var variancia = Variancia(listaVariavelDiscreta.Select(q => q.XI).ToList(), listaVariavelDiscreta.Select(q => q.FI).ToList(), media, baseInputs.Amostra); var dp = MathCoreApp.RaizQuadrada(variancia); var cv = Math.Round((decimal)((dp / media)) * 100, 2); var medidasDispersaoApp = new MedidasDispersaoEntity { Variancia = variancia, DP = dp, CV = cv }; return(new VariavelDiscretaContainerEntity { InputValue = baseInputs.InputValue, Rol = baseInputs.Rol, VariavelDiscretaEntity = listaVariavelDiscreta, MedidasDispersaoEntity = medidasDispersaoApp, MedidasTendenciaEntity = medidasTendenciaApp, AgrupamentoEntity = agrupamento }); }