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