Esempio n. 1
0
        public void ExecutarExpressaoSimplesPorServico()
        {
            int a = 1, b = 2;
            string expressao = "(a+b)>0";
            string blocoAcaoTrue = "a=0;b=-1";

            MaquinaInequacoesServiceReference.MaquinaInequacoesServiceClient serviceClient = new MaquinaInequacoesServiceReference.MaquinaInequacoesServiceClient();
            MaquinaInequacoesServiceReference.Variavel variavelA = new MaquinaInequacoesServiceReference.Variavel();
            variavelA.Nome = "a";
            variavelA.TipoDado = MaquinaInequacoesServiceReference.TipoDado.Numerico;
            variavelA.Valor = a;

            MaquinaInequacoesServiceReference.Variavel variavelB = new MaquinaInequacoesServiceReference.Variavel();
            variavelB.Nome = "b";
            variavelB.TipoDado = MaquinaInequacoesServiceReference.TipoDado.Numerico;
            variavelB.Valor = b;

            MaquinaInequacoesServiceReference.MemoriaCalculo memoriaCalculo = new MaquinaInequacoesServiceReference.MemoriaCalculo();
            memoriaCalculo.Variaveis = new List<MaquinaInequacoesServiceReference.Variavel>();
            memoriaCalculo.Variaveis.Add(variavelA);
            memoriaCalculo.Variaveis.Add(variavelB);

            MaquinaInequacoesServiceReference.Decisao decisao = new MaquinaInequacoesServiceReference.Decisao();
            decisao.Inequacao = expressao;
            decisao.BlocoDeAcao = blocoAcaoTrue;

            MaquinaInequacoesServiceReference.ListaDecisoes listaDecisoes = new MaquinaInequacoesServiceReference.ListaDecisoes();
            listaDecisoes.Decisoes = new List<MaquinaInequacoesServiceReference.Decisao>();
            listaDecisoes.Decisoes.Add(decisao);

            try
            {
                memoriaCalculo = serviceClient.ExecutarJSONcomObjetos(memoriaCalculo, listaDecisoes);

                Assert.AreEqual(memoriaCalculo.Variaveis[0].Valor, 0.0);
                Assert.AreEqual(memoriaCalculo.Variaveis[1].Valor, -1.0);
            }
            catch (Exception iEx)
            {
                if (iEx is System.ServiceModel.EndpointNotFoundException)
                    throw new Exception(MsgExceptionServicoNaoAtivo, iEx);
                else
                {
                    if (serviceClient != null && serviceClient.State != System.ServiceModel.CommunicationState.Closed)
                        serviceClient.Close();
                }
            }
        }
        public void LimiteFNS()
        {
            MaquinaInequacoesServiceReference.MaquinaInequacoesServiceClient serviceClient = new MaquinaInequacoesServiceReference.MaquinaInequacoesServiceClient();
            MaquinaInequacoesServiceReference.MemoriaCalculo memoriaCalculo = new MaquinaInequacoesServiceReference.MemoriaCalculo();
            MaquinaInequacoesServiceReference.ListaDecisoes listaDecisoes = new MaquinaInequacoesServiceReference.ListaDecisoes();

            string nomeFuncao = "Modulo_Limites_MOPs-LIM_FNS_n3";
            Mediador mediador = new Mediador();

            mediador.CarregarMemoriaDeCalculo(memoriaCalculo, nomeFuncao);
            mediador.CarregarListaDecisoes(listaDecisoes, nomeFuncao);

            mediador.CarregarDados_SheetRow_SEVERA_N3();
            mediador.CarregarDados_SheetRow_S_SE();
            mediador.CarregarDados_SheetRow_N_NE_SE();

            try
            {
                for (int i = 0; i < mediador.linhas_N_NE_SE.Count; i++)
                {
                    Modulo_Limites_MOPs_LIM_FNS_n3.AtualizarVariaveisDaMemoriaDeCalculo(memoriaCalculo, mediador.linhas_SEVERA_N3[i], mediador.linhas_S_SE[i], mediador.linhas_N_NE_SE[i]);
                    memoriaCalculo = serviceClient.ExecutarJSONcomObjetos(memoriaCalculo, listaDecisoes);

                    MaquinaInequacoesServiceReference.Variavel limite = Mediador.GetVariavelPorNome(memoriaCalculo, "lim");
                    MaquinaInequacoesServiceReference.Variavel limiteTexto = Mediador.GetVariavelPorNome(memoriaCalculo, "limTexto");

                    if (limiteTexto.Valor.ToString().Trim() != string.Empty)
                        Assert.AreEqual(limiteTexto.Valor, "!Maq.C.Brava!");
                    else
                        Assert.AreEqual(limite.Valor, mediador.linhas_SEVERA_N3[i].LDvalorplanilha_LIMIT_FNS);
                }

            }
            catch (Exception iEx)
            {
                if (iEx is System.ServiceModel.EndpointNotFoundException)
                    throw new Exception(TestesBasicos.MsgExceptionServicoNaoAtivo, iEx);
                else
                {
                    if (serviceClient != null && serviceClient.State != System.ServiceModel.CommunicationState.Closed)
                        serviceClient.Close();
                    throw iEx;
                }
            }
        }
        public void LimiteFINBA()
        {
            MaquinaInequacoesServiceReference.MaquinaInequacoesServiceClient serviceClient = new MaquinaInequacoesServiceReference.MaquinaInequacoesServiceClient();
            MaquinaInequacoesServiceReference.MemoriaCalculo memoriaCalculo = new MaquinaInequacoesServiceReference.MemoriaCalculo();
            MaquinaInequacoesServiceReference.ListaDecisoes listaDecisoes = new MaquinaInequacoesServiceReference.ListaDecisoes();

            string nomeFuncao = "Modulo_Interligacao_SSE-limiteFINBA";
            Mediador mediador = new Mediador();

            mediador.CarregarMemoriaDeCalculo(memoriaCalculo, nomeFuncao);
            mediador.CarregarListaDecisoes(listaDecisoes, nomeFuncao);

            mediador.CarregarDados_SheetRow_S_SE();
            mediador.CarregarDados_SheetRow_SUL();

            try
            {
                for (int i = 0; i < mediador.linhas_S_SE.Count; i++)
                {
                    Modulo_Interligacao_SSE_limiteFINBA.AtualizarVariaveisDaMemoriaDeCalculo(memoriaCalculo, mediador.linhas_S_SE[i], mediador.linhas_SUL[i]);
                    memoriaCalculo = serviceClient.ExecutarJSONcomObjetos(memoriaCalculo, listaDecisoes);

                    Assert.AreEqual(Mediador.GetVariavelPorNome(memoriaCalculo, "lim").Valor, mediador.linhas_S_SE[i].LDvalorplanilha_LIM_FINBA);
                }

            }
            catch (Exception iEx)
            {
                if (iEx is System.ServiceModel.EndpointNotFoundException)
                    throw new Exception(TestesBasicos.MsgExceptionServicoNaoAtivo, iEx);
                else
                {
                    if (serviceClient != null && serviceClient.State != System.ServiceModel.CommunicationState.Closed)
                        serviceClient.Close();

                    throw iEx;
                }
            }
        }
        public MaquinaInequacoesServiceReference.ListaDecisoes CarregaListaDecisoes()
        {
            MaquinaInequacoesServiceReference.ListaDecisoes listaDecisoes = new MaquinaInequacoesServiceReference.ListaDecisoes();
            List<MaquinaInequacoesServiceReference.Decisao> decisoes = new List<MaquinaInequacoesServiceReference.Decisao>();
            foreach (string line in textBox3.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None))
            {
                if (!line.StartsWith("//") && line != string.Empty)
                {
                    KeyValuePair<string, string> inequacaoBlocoAcao = ParseInequacaoBlocoAcao(line);
                    string inequacao = inequacaoBlocoAcao.Key;
                    string blocoAcao = inequacaoBlocoAcao.Value;

                    MaquinaInequacoesServiceReference.Decisao decisao = new MaquinaInequacoesServiceReference.Decisao();
                    decisao.Inequacao = inequacao;
                    decisao.BlocoDeAcao = blocoAcao;
                    decisoes.Add(decisao);
                }
            }

            listaDecisoes.Decisoes = decisoes.ToArray();
            return listaDecisoes;
        }
        public void LimiteFACROInferior()
        {
            MaquinaInequacoesServiceReference.MaquinaInequacoesServiceClient serviceClient = new MaquinaInequacoesServiceReference.MaquinaInequacoesServiceClient();
            MaquinaInequacoesServiceReference.MemoriaCalculo memoriaCalculo = new MaquinaInequacoesServiceReference.MemoriaCalculo();
            MaquinaInequacoesServiceReference.ListaDecisoes listaDecisoes = new MaquinaInequacoesServiceReference.ListaDecisoes();

            string nomeFuncao = "Modulo_RACRO-Limite_Inf_FACRO";
            Mediador mediador = new Mediador();

            mediador.CarregarMemoriaDeCalculo(memoriaCalculo, nomeFuncao);
            mediador.CarregarListaDecisoes(listaDecisoes, nomeFuncao);

            mediador.CarregarDados_SheetRow_ACRO_MT();

            try
            {
                for (int i = 0; i < mediador.linhas_ACRO_MT.Count; i++)
                {
                    Modulo_RACRO_Limite_Inf_FACRO.AtualizarVariaveisDaMemoriaDeCalculo(memoriaCalculo, mediador.linhas_ACRO_MT[i]);
                    memoriaCalculo = serviceClient.ExecutarJSONcomObjetos(memoriaCalculo, listaDecisoes);

                    Assert.AreEqual(Math.Round((double)Mediador.GetVariavelPorNome(memoriaCalculo, "lim").Valor,0), Math.Round((double)mediador.linhas_ACRO_MT[i].LDvalorplanilha_Lim_FACROInf,0));
                }

            }
            catch (Exception iEx)
            {
                if (iEx is System.ServiceModel.EndpointNotFoundException)
                    throw new Exception(TestesBasicos.MsgExceptionServicoNaoAtivo, iEx);
                else
                {
                    if (serviceClient != null && serviceClient.State != System.ServiceModel.CommunicationState.Closed)
                        serviceClient.Close();

                    throw iEx;
                }
            }
        }