Skip to content

Commit

Permalink
Testes unitários para atualizações nos tradutores.
Browse files Browse the repository at this point in the history
  • Loading branch information
leonelsanchesdasilva committed May 8, 2024
1 parent 58a8241 commit bae8f1f
Show file tree
Hide file tree
Showing 6 changed files with 48 additions and 0 deletions.
1 change: 1 addition & 0 deletions fontes/tradutores/tradutor-assemblyscript.ts
Original file line number Diff line number Diff line change
Expand Up @@ -694,6 +694,7 @@ export class TradutorAssemblyScript {
dicionarioDeclaracoes = {
Bloco: this.traduzirDeclaracaoBloco.bind(this),
Enquanto: this.traduzirDeclaracaoEnquanto.bind(this),
Comentario: this.traduzirConstrutoComentario.bind(this),
Continua: () => 'continue',
Escolha: this.traduzirDeclaracaoEscolha.bind(this),
Expressao: this.traduzirDeclaracaoExpressao.bind(this),
Expand Down
1 change: 1 addition & 0 deletions fontes/tradutores/tradutor-javascript.ts
Original file line number Diff line number Diff line change
Expand Up @@ -677,6 +677,7 @@ export class TradutorJavaScript implements TradutorInterface<Declaracao> {
Bloco: this.traduzirDeclaracaoBloco.bind(this),
Classe: this.traduzirDeclaracaoClasse.bind(this),
Const: this.traduzirDeclaracaoConst.bind(this),
Comentario: this.traduzirConstrutoComentario.bind(this),
Continua: () => 'continue',
Enquanto: this.traduzirDeclaracaoEnquanto.bind(this),
Escolha: this.traduzirDeclaracaoEscolha.bind(this),
Expand Down
1 change: 1 addition & 0 deletions fontes/tradutores/tradutor-python.ts
Original file line number Diff line number Diff line change
Expand Up @@ -534,6 +534,7 @@ export class TradutorPython implements TradutorInterface<Declaracao> {
dicionarioDeclaracoes = {
Bloco: this.traduzirDeclaracaoBloco.bind(this),
Classe: this.traduzirDeclaracaoClasse.bind(this),
Comentario: this.traduzirConstrutoComentario.bind(this),
Const: this.traduzirDeclaracaoConst.bind(this),
Continua: () => 'continue',
Escreva: this.traduzirDeclaracaoEscreva.bind(this),
Expand Down
15 changes: 15 additions & 0 deletions testes/tradutores/tradutor-assemblyscript.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -222,5 +222,20 @@ describe('Tradutor Delégua -> AssemblyScript', () => {
expect(resultado).toMatch(/console\.log\('Olá'\)/i);
expect(resultado).toMatch(/a\(1, 2\)/i);
});

it('Comentários', () => {
const retornoLexador = lexador.mapear(
[
'// Isto é um comentário',
'escreva("Código após comentário.");'
],
-1
);
const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador, -1);

const resultado = tradutor.traduzir(retornoAvaliadorSintatico.declaracoes);
expect(resultado).toBeTruthy();
expect(resultado).toContain('// Isto é um comentário');
});
})
})
15 changes: 15 additions & 0 deletions testes/tradutores/tradutor-javascript.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -966,5 +966,20 @@ describe('Tradutor Delégua -> JavaScript', () => {
expect(resultado).toBeTruthy();
expect(resultado).toMatch(/let nome = \'leia\(\) não é suportado por este padrão de JavaScript.\'/i);
});

it('Comentários', () => {
const retornoLexador = lexador.mapear(
[
'// Isto é um comentário',
'escreva("Código após comentário.");'
],
-1
);
const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador, -1);

const resultado = tradutor.traduzir(retornoAvaliadorSintatico.declaracoes);
expect(resultado).toBeTruthy();
expect(resultado).toContain('// Isto é um comentário');
});
});
});
15 changes: 15 additions & 0 deletions testes/tradutores/tradutor-python.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -543,5 +543,20 @@ describe('Tradutor Delégua -> Python', () => {
expect(resultado).toMatch(/finally:/i);
expect(resultado).toMatch(/print\('Ocorrendo exceção ou não, eu sempre executo'\)/i);
});

it('Comentários', () => {
const retornoLexador = lexador.mapear(
[
'// Isto é um comentário',
'escreva("Código após comentário.");'
],
-1
);
const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador, -1);

const resultado = tradutor.traduzir(retornoAvaliadorSintatico.declaracoes);
expect(resultado).toBeTruthy();
expect(resultado).toContain('# Isto é um comentário');
});
});
});

0 comments on commit bae8f1f

Please sign in to comment.