Skip to content

Commit

Permalink
Alguns testes unitários extras.
Browse files Browse the repository at this point in the history
  • Loading branch information
leonelsanchesdasilva committed Nov 19, 2024
1 parent be4b9fc commit e7c4120
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 10 deletions.
29 changes: 21 additions & 8 deletions testes/avaliador-sintatico.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,6 @@ describe('Avaliador sintático', () => {
expect(retornoAvaliadorSintatico.declaracoes).toHaveLength(1);
});

it('Sucesso - Dicionário vazio', () => {
const retornoLexador = lexador.mapear(['var dicionarioVazio = {}'], -1);
const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador, -1);

expect(retornoAvaliadorSintatico).toBeTruthy();
expect(retornoAvaliadorSintatico.declaracoes).toHaveLength(1);
});

it('Sucesso - Undefined', () => {
const retornoAvaliadorSintatico = avaliadorSintatico.analisar(undefined as any, -1);

Expand Down Expand Up @@ -239,6 +231,27 @@ describe('Avaliador sintático', () => {
})
});

describe('Dicionários', () => {
it('Dicionário vazio', () => {
const retornoLexador = lexador.mapear(['var dicionarioVazio = {}'], -1);
const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador, -1);

expect(retornoAvaliadorSintatico).toBeTruthy();
expect(retornoAvaliadorSintatico.declaracoes).toHaveLength(1);
});

it('Acesso a valor de Dicionário por índice', () => {
const retornoLexador = lexador.mapear([
'var dici = { 1: "Um", 2: "Dois" }',
'escreva(dici[1])'
], -1);
const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador, -1);

expect(retornoAvaliadorSintatico).toBeTruthy();
expect(retornoAvaliadorSintatico.declaracoes).toHaveLength(2);
});
});

describe('Funções', () => {
it('Função retorna Dicionario literal', async () => {
const retornoLexador = lexador.mapear(
Expand Down
7 changes: 5 additions & 2 deletions testes/interpretador/interpretador.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,11 @@ describe('Interpretador', () => {
expect(retornoInterpretador.erros).toHaveLength(0);
});

it('Dicionário', async () => {
const retornoLexador = lexador.mapear(["var a = {'a': 1, 'b': 2}"], -1);
it('Dicionário, atribuição simples', async () => {
const retornoLexador = lexador.mapear([
"var a = {'a': 1, 'b': 2}",
"escreva(a['b'])"
], -1);
const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador, -1);

const retornoInterpretador = await interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
Expand Down

0 comments on commit e7c4120

Please sign in to comment.