# 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.