UNPKG

@designliquido/lincones-mysql

Version:
83 lines 4.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const lexador_1 = require("../fontes/lexador"); describe('Lexador', () => { let lexador; beforeEach(() => { lexador = new lexador_1.Lexador(); }); describe('mapear()', () => { describe('Cenário de sucesso', () => { it('Sucesso com código vazio', () => { const codigo = ['']; const resultado = lexador.mapear(codigo); expect(resultado).toBeTruthy(); expect(resultado.simbolos).toHaveLength(0); }); it('Sucesso com código com apenas espaços', () => { const codigo = [' ']; const resultado = lexador.mapear(codigo); expect(resultado).toBeTruthy(); expect(resultado.simbolos).toHaveLength(0); }); it('Sucesso com código repetindo instruções', () => { const codigo = [ '((((((((((((((((((((((((((', ')))))))))))))))))))))))))', 'CRIAR CRIAR CRIAR CRIAR CRIAR CRIAR' ]; const resultado = lexador.mapear(codigo); expect(resultado).toBeTruthy(); expect(resultado.simbolos).toHaveLength(57); }); it('Sucesso - CRIAR TABELA', () => { const codigo = ['CRIAR TABELA usuarios']; const resultado = lexador.mapear(codigo); expect(resultado).toBeTruthy(); expect(resultado.simbolos).toHaveLength(3); }); it('Sucesso - ATUALIZAR', () => { const codigo = ['ATUALIZAR usuarios']; const resultado = lexador.mapear(codigo); expect(resultado).toBeTruthy(); expect(resultado.simbolos).toHaveLength(2); }); describe('Sucesso - Simulação real', () => { it('Sucesso - Criar Tabela Clientes', () => { const codigo = [ 'CRIAR TABELA clientes(id INTEIRO NAO NULO CHAVE PRIMARIA AUTOINCREMENTO, nome TEXTO(100) NAO NULO, idade INTEIRO NAO NULO, email TEXTO(255) NAO NULO, ativo LOGICO NAO NULO)' ]; const resultado = lexador.mapear(codigo); expect(resultado).toBeTruthy(); expect(resultado.simbolos).toHaveLength(38); }); it('Sucesso - CRUD', () => { const codigo = [ 'INSERIR EM clientes VALORES(1, "João", 20, "joao@gmail.com", VERDADEIRO)', 'INSERIR EM clientes VALORES(2, "Carlos", 23, "carlos@gmail.com", VERDADEIRO)', 'INSERIR EM clientes VALORES(3, "Thiago", 40, "thiago@gmail.com", VERDADEIRO)', 'INSERIR EM clientes VALORES(4, "Jose", 44, "jose@gmail.com", VERDADEIRO)' ]; const resultado = lexador.mapear(codigo); expect(resultado).toBeTruthy(); expect(resultado.simbolos).toHaveLength(60); }); it('Sucesso - Selecionar', () => { const codigo = ['SELECIONAR * DE clientes']; const resultado = lexador.mapear(codigo); expect(resultado).toBeTruthy(); expect(resultado.simbolos).toHaveLength(4); }); it('Sucesso - Criar Tabela Clientes', () => { const codigo = [ 'CRIAR TABELA clientes(id INTEIRO NAO NULO CHAVE PRIMARIA AUTOINCREMENTO, nome TEXTO(100) NAO NULO, idade INTEIRO NAO NULO, email TEXTO(255) NAO NULO, ativo LOGICO NAO NULO);' ]; const resultado = lexador.mapear(codigo); expect(resultado).toBeTruthy(); expect(resultado.simbolos).toHaveLength(39); }); }); }); }); }); //# sourceMappingURL=lexador.test.js.map