Esempio n. 1
0
        public bool analizar()
        {
            ParseTreeNode Root;
            //se captura la pestaña seleccionada y el siguiente componente que sera el textarea, luego se parseara a string
            String TextoAanalizar = PestañaSeleccionda().GetNextControl(PestañaSeleccionda(), true).Text;

            if (!TextoAanalizar.Equals(""))
            {
                Consola.Clear();
                Root = Analizar.EjecucionAnalisis(TextoAanalizar);        //llamo al metodo analizar de la clase analizar por ende esta public y estatica

                if (Root != null)
                {
                    Acciones.RealizarAccionesAcciones(Root);                   //la cadena es correcta mandamos a ejecutar las acciones
                    List <String> impresiones = Analisis.Acciones.Impresiones; //despues las impresiones en consola de los print
                    for (int i = 0; i < impresiones.Count; i++)
                    {
                        Consola.AppendText(impresiones[i] + "\n");
                    }
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                MessageBox.Show("Area Vacia", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return(false);
            }
        }
Esempio n. 2
0
        private void button3_Click(object sender, EventArgs e)
        {
            textErrores.Text = "";
            Analizar analizador = new Analizar();
            String   cadena     = cuerpo.Text;

            analizador.esCadenaValida(cadena, new Gramatica());
            if (File.Exists("Errores.html"))
            {
                File.Delete("Errores.html");
            }
            if (Analizar.error.Count > 0)
            {
                using (StreamWriter sw = File.CreateText("Errores.html"))
                {
                    TextWriter tw = sw;
                    tw.WriteLine("<table>");
                    tw.WriteLine("<tr>");
                    tw.WriteLine("<td>Descripcion</td><td>Linea</td><td>Columna</td>");
                    tw.WriteLine("</tr>");
                    for (int i = 0; i < Analizar.error.Count; i++)
                    {
                        String error   = (String)Analizar.error[i];
                        String linea   = Analizar.line[i].ToString();
                        String columna = Analizar.column[i].ToString();
                        tw.WriteLine("<tr>");
                        tw.WriteLine("<td>" + error + "</td><td>" + linea + "</td><td>" + columna + "</td>");
                        tw.Write("</tr>");
                    }
                    tw.WriteLine("</table>");
                    tw.Close();
                }
            }

            if (Analizar.padre.Root != null && Analizar.error.Count == 0)
            {
                GraficarArbol.ConstruirArbol(Analizar.padre.Root);
                GraficarArbol.graficar("AST.txt", "");
                analizador.recorrerArbol(Analizar.padre.Root);
                for (int i = 0; i < Analizar.metodosFunciones.Count; i++)
                {
                    ArrayList var = (ArrayList)Analizar.metodosFunciones[i];
                    System.Diagnostics.Debug.WriteLine("Metodo: " + var[0]);
                }

                for (int i = 0; i < Analizar.errorSemantico.Count; i++)
                {
                    textErrores.AppendText((String)Analizar.errorSemantico[i]);
                    textErrores.AppendText(Environment.NewLine);
                }


                for (int i = 0; i < Analizar.mostrar.Count; i++)
                {
                    textMostrar.AppendText((String)Analizar.mostrar[i]);
                    textMostrar.AppendText(Environment.NewLine);
                }
            }
        }
        public void DeveriaGerarDadosUltimaFaturaCorretamenteParaNFe310()
        {
            var resultado = Analizar.GerarDTO("teste310.XML").Faturas.Last();

            Assert.AreEqual("25/04/2017", resultado.Data.ToString("dd/MM/yyyy"));
            Assert.AreEqual("1  0002183874", resultado.NumeroFatura);
            Assert.AreEqual(722.00M, resultado.Valor);
        }
        public void DeveriaGerarDadosUltimaFaturaCorretamenteParaNFe410()
        {
            var resultado = Analizar.GerarDTO("teste400.XML").Faturas.Last();

            Assert.AreEqual("08/08/2019", resultado.Data.ToString("dd/MM/yyyy"));
            Assert.AreEqual("003", resultado.NumeroFatura);
            Assert.AreEqual(662.99M, resultado.Valor);
        }
        public void DeveriaGerarDadosPrimeiraFaturaCorretamenteParaNFe410()
        {
            var resultado = Analizar.GerarDTO("teste400.XML").Faturas.First();

            Assert.AreEqual("09/06/2019", resultado.Data.ToString("dd/MM/yyyy"));
            Assert.AreEqual("001", resultado.NumeroFatura);
            Assert.AreEqual(838.63M, resultado.Valor);
        }
        public void DeveriaGerarDadosPrimeiraFaturaCorretamenteParaNFe310()
        {
            var resultado = Analizar.GerarDTO("teste310.XML").Faturas.First();

            Assert.AreEqual("25/01/2017", resultado.Data.ToString("dd/MM/yyyy"));
            Assert.AreEqual("1  0002183871", resultado.NumeroFatura);
            Assert.AreEqual(725.45M, resultado.Valor);
        }
        public void DeveriaGerarDadosForncedorCorretamenteParaNFe310()
        {
            var resultado = Analizar.GerarDTO("teste310.XML");

            Assert.AreEqual("65952835000197", resultado.Fornecedor.CNPJ);
            Assert.AreEqual("569927446281", resultado.Fornecedor.IE);
            Assert.AreEqual("Enrico e Olivia Mudanças ME.", resultado.Fornecedor.Nome);
            Assert.AreEqual("EnricoME", resultado.Fornecedor.NomeFantasia);
        }
        public void DeveriaGerarDadosForncedorCorretamenteParaNFe400()
        {
            var resultado = Analizar.GerarDTO("teste400.XML");

            Assert.AreEqual("49748689000126", resultado.Fornecedor.CNPJ);
            Assert.AreEqual("489021200990", resultado.Fornecedor.IE);
            Assert.AreEqual("Laís e Pedro Henrique Comercio de Bebidas ME", resultado.Fornecedor.Nome);
            Assert.AreEqual("LaísME", resultado.Fornecedor.NomeFantasia);
        }
        public void DeveriaGerarDadosUltimoProdutoCorretamenteParaNFe310()
        {
            var resultado = Analizar.GerarDTO("teste310.XML").Produtos.Last();

            Assert.AreEqual("6430", resultado.Codigo);
            Assert.AreEqual("", resultado.CodigoEAN);
            Assert.AreEqual("87149490", resultado.NCM);
            Assert.AreEqual("SAPATA SPEED 450 50MM PTO", resultado.Nome);
            Assert.AreEqual(2, resultado.Quantidade);
            Assert.AreEqual("PR", resultado.Unidade);
            Assert.AreEqual(4.81M, resultado.Valor);
        }
        public void DeveriaGerarDadosPrimeiroProdutoCorretamenteParaNFe310()
        {
            var resultado = Analizar.GerarDTO("teste310.XML").Produtos.First();

            Assert.AreEqual("39069", resultado.Codigo);
            Assert.AreEqual("", resultado.CodigoEAN);
            Assert.AreEqual("64041100", resultado.NCM);
            Assert.AreEqual("SAPATILHA URBANA GIRO GRYND PTO/BCO T.43", resultado.Nome);
            Assert.AreEqual(1, resultado.Quantidade);
            Assert.AreEqual("PR", resultado.Unidade);
            Assert.AreEqual(318.60M, resultado.Valor);
        }
        public void DeveriaGerarDadosUltimoProdutoCorretamenteParaNFe410()
        {
            var resultado = Analizar.GerarDTO("teste400.XML").Produtos.Last();

            Assert.AreEqual("4267-055", resultado.Codigo);
            Assert.AreEqual("7899033272743", resultado.CodigoEAN);
            Assert.AreEqual("87149990", resultado.NCM);
            Assert.AreEqual("ARANHA EXPANSIVA EM ALUMINIO", resultado.Nome);
            Assert.AreEqual(1, resultado.Quantidade);
            Assert.AreEqual("UN", resultado.Unidade);
            Assert.AreEqual(45.50M, resultado.Valor);
        }
        public void DeveriaGerarDadosPrimeiroProdutoCorretamenteParaNFe410()
        {
            var resultado = Analizar.GerarDTO("teste400.XML").Produtos.First();

            Assert.AreEqual("2445-055", resultado.Codigo);
            Assert.AreEqual("7899033234918", resultado.CodigoEAN);
            Assert.AreEqual("87149310", resultado.NCM);
            Assert.AreEqual("BLOCAGEM P/ CUBOS CLY ALUM  DIANT/TRAS", resultado.Nome);
            Assert.AreEqual(3, resultado.Quantidade);
            Assert.AreEqual("UN", resultado.Unidade);
            Assert.AreEqual(15.37M, resultado.Valor);
        }
        public void DeveriaGerarEnderecoForncedorCorretamenteParaNFe310()
        {
            var resultado = Analizar.GerarDTO("teste310.XML");

            Assert.AreEqual("Vila São João", resultado.Fornecedor.Bairro);
            Assert.AreEqual("05308000", resultado.Fornecedor.CEP);
            Assert.AreEqual("65952835000197", resultado.Fornecedor.CNPJ);
            Assert.AreEqual("569927446281", resultado.Fornecedor.IE);
            Assert.AreEqual("Rua Santa Cruz", resultado.Fornecedor.Logradouro);
            Assert.AreEqual("3550308", resultado.Fornecedor.MunicipioId);
            Assert.AreEqual("SP", resultado.Fornecedor.UF);
            Assert.AreEqual("BRASIL", resultado.Fornecedor.Pais);
        }
        public void DeveriaGerarEnderecoForncedorCorretamenteParaNFe400()
        {
            var resultado = Analizar.GerarDTO("teste400.XML");

            Assert.AreEqual("VL STA CATARINA", resultado.Fornecedor.Bairro);
            Assert.AreEqual("04376006", resultado.Fornecedor.CEP);
            Assert.AreEqual("49748689000126", resultado.Fornecedor.CNPJ);
            Assert.AreEqual("489021200990", resultado.Fornecedor.IE);
            Assert.AreEqual("Rua Quinze de Novembro", resultado.Fornecedor.Logradouro);
            Assert.AreEqual("3550308", resultado.Fornecedor.MunicipioId);
            Assert.AreEqual("SP", resultado.Fornecedor.UF);
            Assert.AreEqual("Brasil", resultado.Fornecedor.Pais);
        }
Esempio n. 15
0
        //metodo que mandara a analizar el texto escrito
        public bool analizar()
        {
            ParseTreeNode Root;
            //se captura la pestaña seleccionada y el siguiente componente que sera el textarea, luego se parseara a string
            String TextoAanalizar = PestañaSeleccionda().GetNextControl(PestañaSeleccionda(), true).Text;

            if (!TextoAanalizar.Equals(""))
            {
                Root = Analizar.analizador(TextoAanalizar);        //llamo al metodo analizar de la clase analizar por ende esta public y estatica

                if (Root != null)
                {
                    Acciones.RealizarAcciones(Root);

                    PestañaSelecciondaSalida().GetNextControl(PestañaSelecciondaSalida(), true).Text = " ";
                    List <String> impresiones = Analizador.Acciones.Impresiones;
                    String        impre       = "";
                    for (int i = 0; i < impresiones.Count; i++)
                    {
                        impre += impresiones[i] + "\n";
                    }
                    PestañaSelecciondaSalida().GetNextControl(PestañaSelecciondaSalida(), true).Text = impre;
                    Analizador.Acciones.Impresiones.Clear();

                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                MessageBox.Show("Area Vacia", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return(false);
            }
        }
        public void DeveriaConter34DetalhesNFe400()
        {
            var resultado = Analizar.Nfe400("teste400.XML");

            Assert.IsTrue(resultado.infNFe.det.Count() == 36);
        }
        public void DeveriaConter27DetalhesNFe310()
        {
            var resultado = Analizar.Nfe310("teste310.XML");

            Assert.IsTrue(resultado.infNFe.det.Count() == 27);
        }