Skip to content

Commit

Permalink
refatoração(#536): Testando escreva em portugol-studio
Browse files Browse the repository at this point in the history
  • Loading branch information
ItaloCobains committed Oct 30, 2023
1 parent e92a755 commit ba61d8d
Show file tree
Hide file tree
Showing 3 changed files with 74 additions and 5 deletions.
52 changes: 52 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,45 @@
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Portugol-studio > Testes Interpretador",
"type": "node",
"request": "launch",
"runtimeArgs": [
"--inspect-brk",
"${workspaceRoot}/node_modules/jest/bin/jest.js",
"portugol-studio/interpretador.test.ts",
"--runInBand"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
},
{
"name": "Potigol > Testes Interpretador",
"type": "node",
"request": "launch",
"runtimeArgs": [
"--inspect-brk",
"${workspaceRoot}/node_modules/jest/bin/jest.js",
"potigol/interpretador.test.ts",
"--runInBand"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
},
{
"name": "Visualg > Testes Interpretador",
"type": "node",
"request": "launch",
"runtimeArgs": [
"--inspect-brk",
"${workspaceRoot}/node_modules/jest/bin/jest.js",
"visualg/interpretador.test.ts",
"--runInBand"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
},
{
"name": "BIRL > Testes Interpretador",
"type": "node",
Expand Down Expand Up @@ -52,6 +91,19 @@
"ts-node/register/transpile-only"
]
},
{
"name": "Delegua > Testes Interpretador",
"type": "node",
"request": "launch",
"runtimeArgs": [
"--inspect-brk",
"${workspaceRoot}/node_modules/jest/bin/jest.js",
"interpretador.test.ts",
"--runInBand"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
},
{
"type": "node",
"request": "launch",
Expand Down
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,6 @@
"titleBar.inactiveForeground": "#e7e7e799"
},
"peacock.color": "#000000",
"compile-hero.disable-compile-files-on-did-save-code": true
"compile-hero.disable-compile-files-on-did-save-code": true,
"nuxt.isNuxtApp": false
}
24 changes: 20 additions & 4 deletions testes/portugol-studio/interpretador.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { AvaliadorSintaticoPortugolStudio } from '../../fontes/avaliador-sintatico/dialetos';
import { LexadorPortugolStudio } from '../../fontes/lexador/dialetos';
import { InterpretadorPortugolStudio } from '../../fontes/interpretador/dialetos';
import { LexadorPortugolStudio } from '../../fontes/lexador/dialetos';

describe('Interpretador (Portugol Studio)', () => {
describe('interpretar()', () => {
Expand All @@ -19,7 +19,7 @@ describe('Interpretador (Portugol Studio)', () => {
const retornoLexador = lexador.mapear([
'programa',
'{',
' ',
' ',
' funcao inicio()',
' {',
' escreva("Olá Mundo")',
Expand All @@ -28,6 +28,10 @@ describe('Interpretador (Portugol Studio)', () => {
], -1);
const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador, -1);

interpretador.funcaoDeRetorno = (saida: string) => {
expect(saida).toEqual("Olá Mundo")
}

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

expect(retornoInterpretador.erros).toHaveLength(0);
Expand Down Expand Up @@ -56,6 +60,10 @@ describe('Interpretador (Portugol Studio)', () => {

const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador, -1);

interpretador.funcaoDeRetorno = (saida: string) => {
expect(saida).toEqual("15")
}

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

expect(retornoInterpretador.erros).toHaveLength(0);
Expand Down Expand Up @@ -88,6 +96,10 @@ describe('Interpretador (Portugol Studio)', () => {

const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador, -1);

interpretador.funcaoDeRetorno = (saida: any) => {
expect(saida).toEqual("É igual a 1")
}

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

expect(retornoInterpretador.erros).toHaveLength(0);
Expand All @@ -97,7 +109,7 @@ describe('Interpretador (Portugol Studio)', () => {
const retornoLexador = lexador.mapear([
'programa',
'{',
' ',
' ',
' funcao inicio()',
' {',
' inteiro a = 2',
Expand All @@ -109,6 +121,10 @@ describe('Interpretador (Portugol Studio)', () => {
], -1);
const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador, -1);

interpretador.funcaoDeRetorno = (saida: string) => {
expect(saida).toEqual("O resultado é: 5")
}

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

expect(retornoInterpretador.erros).toHaveLength(0);
Expand All @@ -118,7 +134,7 @@ describe('Interpretador (Portugol Studio)', () => {
const retornoLexador = lexador.mapear([
'programa',
'{',
' ',
' ',
' funcao inicio()',
' {',
' inteiro a = 2',
Expand Down

0 comments on commit ba61d8d

Please sign in to comment.