示例#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 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;
        }
示例#3
0
        public void CarregarListaDecisoes(MaquinaInequacoesServiceReference.ListaDecisoes listaDecisoes, string funcao)
        {
            //Abre lista de decisões
            List<string> listaDecisioesOrdenada = new List<string>();
            string fileName = GetCaminhoBaseArquivosTeste() + @"\ValidacaoLimites\MemoriaCalculo_ListasDecisoes\" + funcao + "-LD.txt";
            StreamReader sr = new StreamReader(File.OpenRead(fileName));
            while (sr.Peek() != -1)
            {
                string line = sr.ReadLine().Trim();

                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;

                    if (listaDecisoes.Decisoes == null)
                        listaDecisoes.Decisoes = new List<MaquinaInequacoesServiceReference.Decisao>();

                    listaDecisoes.Decisoes.Add(decisao);
                }
            }
        }
        public void CarregarListaDecisoesDoArquivo(string fileName)
        {
            System.IO.StreamReader sr = new System.IO.StreamReader(File.OpenRead(fileName), Encoding.Default, true);
            MaquinaInequacoesServiceClient telaFuncaoParse = new MaquinaInequacoesServiceClient();

            Funcao funcao = new Funcao();
            funcao.Nome = fileName.Replace(GetCaminhoBaseArquivosTeste() + @"\ValidacaoLimites\MemoriaCalculo_ListasDecisoes\", string.Empty).Replace("-LD.txt", string.Empty);

            List<MaquinaInequacoesServiceReference.Decisao> decisoes = new List<MaquinaInequacoesServiceReference.Decisao>();

            while (sr.Peek() != -1)
            {
                string line = sr.ReadLine().Trim();
                if (line != string.Empty && line.Substring(0, 2) != "//")
                {
                    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);
                }
            }

            if (funcao.ListaDecisoes == null)
                funcao.ListaDecisoes = new MaquinaInequacoesServiceReference.ListaDecisoes();

            funcao.ListaDecisoes.Decisoes = decisoes.ToArray();
            //funcao.VariavelRetorno = varRetorno;
            Funcoes.Add(funcao);
        }