---
# System prepended metadata

title: Testes - 6B

---

# Testes - 6B

# Testes 

Explicação de testes privados que falharam. Nos testes privados devem ter mais atenção aos arrays: 


* **Cp2TestPrivate. test_1_08_AssignIntToBool** :: Ex.`b = new int[1]; b[0] = false;`
* **Cp2TestPrivate. test_1_10_ObjectAssignmentPassExtends** :: Aqui o vosso código retorna uma exceção `Node Identifier (line: 18, name: a, column: 8) does not contain attribute 'isArray'`. O código não aceita isto 
```
a = new A();
b = new B();
		
// A extends B
b = a;
b = a.bar();
```

Mas deveria aceitar e não retornar erros.  

* **Cp2TestPrivate. test_1_17_IncompatibleArguments** :: 
Considerando que a classe do ficheiro é `A`, isto deveria retornar um erro. 
```
public A foo2(A a) {} 
public int foo(){
... 
a = a.foo2(1); 
}
```
* **Cp2TestPrivate. test_1_18_IncompatibleReturn** :: mesma exceção do teste anterior e mesma situação: 
`Node Identifier (line: 22, name: a, column: 8) does not contain attribute 'isArray'`  

* **Cp2TestPrivate. test_2_02_CompileArithmetic** :: Dá uma exceção semântica sendo que não era suposto. 
`java.lang.RuntimeException: Found at least one error report: ERROR@semantic, line 26, col 25: Can't match the variable type 't' with a mathematical operation`. Nesta expressão: `		return a + b * t.foo();`. Sendo que `t` é um objeto da classe do ficheiro, não faz extends e possui o método `foo`.  

* **Cp2TestPrivate. test_2_03_CompileMethodInvocation** :: mesma exceção dos testes anteriores. Outra exceção `java.lang.IndexOutOfBoundsException: Index 1 out of bounds for length 1`. Suspeito que seja por conta do retorno de um método static: `ex: return Bla.queroNumero()`
* **Cp2TestPrivate. test_2_04_CompileAssignment** :: exceção : `java.lang.NullPointerException: Node True (line: 8, column: 7) does not contain attribute 'value'`. Parece que não possível fazer o seguinte. `boolean b; b = true`. 
* **Cp2TestPrivate. test_3_02_OllirToJasminArithmetics** :: Os argumentos em jasmin não podem ser `(I;I)`, mas sim `(II)`. 
* **Cp2TestPrivate. test_3_03_OllirToJasminInvoke** :: Isto retornou uma exceção ao tentar dar assemble de jasmin.  

* **Cp2TestPrivate. test_3_03_OllirToJasminInvoke** :: não foi implementado.  
* **Cp2TestPrivate. test_3_04_OllirToJasminFields** :: não foi implementado.  