| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 | 
							- import { IVProgParser } from './../js/ast/ivprogParser';
 
- import { SemanticAnalyser } from './../js/processor/semantic/semanticAnalyser';
 
- import { LanguageService } from '../js/services/languageService';
 
- import { OutputTest } from '../js/util/outputTest';
 
- import { IVProgProcessor } from '../js/processor/ivprogProcessor';
 
- describe('Non initialized vector/matrix', function () {
 
-   const code = `programa {
 
-     funcao inicio() {
 
-       inteiro a[16] = {1,8,3,5,7,4,2,1,8,3,5,7,-4,2,10,-1}
 
-       inteiro tam = total_de_elementos(a) - 1
 
-       inteiro i
 
-       a = mergeSort(a, 0, tam)
 
-       para(i = 0; i< tam; i = i + 1) {
 
-         escreva(a[i] + ", ")
 
-       }
 
-       escreva(a[i])
 
-     }
 
-   
 
-     funcao inteiro[] mergeSort(inteiro a[], inteiro init, inteiro end) {
 
-       inteiro meio = (init + end) / 2
 
-       inteiro size1 = meio - init + 1, size2 = end - meio, sizeF = end - init + 1
 
-       inteiro p1[size1]
 
-       inteiro p2[size2]
 
-       inteiro f[sizeF]
 
-       se (init < end) {
 
-         p1 = mergeSort(a, init, meio)
 
-         p2 = mergeSort(a, meio+1, end)
 
-         f = merge(p1, p2)
 
-         retorne f
 
-       } senao {
 
-         retorne { a[init] }
 
-       }
 
-     }
 
-   
 
-     funcao inteiro[] merge(inteiro p1[], inteiro p2[]) {
 
-       inteiro lenp1 = total_de_elementos(p1)
 
-       inteiro lenp2 = total_de_elementos(p2)
 
-       inteiro sizeF = lenp1 + lenp2
 
-       inteiro f[sizeF]
 
-       inteiro i = 0, a = 0, b =0
 
-       enquanto(i < lenp1+lenp2) {
 
-         se(a < lenp1) {
 
-           se(b <lenp2) {
 
-             se(p1[a] <= p2[b]) {
 
-               f[i] = p1[a]
 
-               a = a + 1
 
-               i = i + 1
 
-             } senao {
 
-               f[i] = p2[b]
 
-               b = b + 1
 
-               i = i + 1
 
-             }
 
-           } senao {
 
-             enquanto(a < lenp1) {
 
-               f[i] = p1[a]
 
-               a = a + 1
 
-               i = i + 1
 
-             }
 
-           }
 
-         } senao {
 
-           enquanto(b < lenp2) {
 
-             f[i] = p2[b]
 
-             b = b + 1
 
-             i = i + 1
 
-           }
 
-         }
 
-       }
 
-       retorne f
 
-     }
 
-   }
 
-   `;
 
-   localStorage.setItem('ivprog.lang', 'pt');
 
-   const lexer = LanguageService.getCurrentLexer();
 
-   const out = new OutputTest();
 
-   it(`should not throw an exception`, function (done) {
 
-     const parser = new IVProgParser(code, lexer);
 
-     const sem = new SemanticAnalyser(parser.parseTree());
 
-     const exec = new IVProgProcessor(sem.analyseTree());
 
-     exec.registerOutput(out);
 
-     exec.interpretAST().then(_ => {
 
-       expect(out.list.length).toEqual(16);
 
-       done()
 
-     }).catch( err => done(err));
 
-   });
 
- });
 
 
  |