sanyaade-g2g-repos / quimeraengine

Automatically exported from code.google.com/p/quimeraengine
0 stars 1 forks source link

Unit Tests: QTranslationMatrix #270

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Implementyar los unit tests para la clase QTranslationMatrix.

Original issue reported on code.google.com by Lince3D@gmail.com on 6 May 2012 at 2:12

GoogleCodeExporter commented 8 years ago
Pillada

Original comment by borderpa...@gmail.com on 31 May 2012 at 8:23

GoogleCodeExporter commented 8 years ago
*Añadidos los archivos de tests QTranslationMatrix_test.cpp y 
QTranslationMatrixWhiteBox.h
*Corregidos los operadores producto en QTranslationMatrix.h

Con CodeBlocks, el código compila y linka correctamente, pero al ejecutarlo 
dice que falla un test. Sin embargo, en el archivo XML de resultados no consta.
Con VS, el código compila y linka correctamente, pero al ejecutarlo se 
producen excepciones en la biblioteca estándar.

Original comment by borderpa...@gmail.com on 29 Jul 2012 at 9:51

Attachments:

GoogleCodeExporter commented 8 years ago
Resultado de la revisión:

1- Consejo en general, utiliza valores lo más variados posible, por ejemplo, 
en el test del constructor 2, en lugar de usar como parámetro de entrada una 
matriz con 1,0,0,0, 1,0,0,0, etc., usa 1,2,3,4,5,6,7,8, etc. Con esto se 
podría detectar en el futuro que un elemento se asigna a otro que no debe, ya 
que los valores son diferentes.

2- Constructor4_IdentityMatrixObtainedWhen3DVectorIsZeroVector_Test: El valor 
de entrada, en este caso un vector nulo, debe aparecer en el apartado de 
perparación como una constante (aunque ya sea una constante, vamos a hacerlo 
todo igual).

3- Constructor5 tests: Podría añadirse un test para asegurar que el valor de 
W no afecta al resultado.

4- OperatorProduct1_TranslationMatricesProductIsConmutative_Test: Falta poner 
el CheckFourthColumnIfExists.

5- OperatorProduct2_FourthColumnOfLeftOperandDoesntMatter_Test y 
OperatorProduct2_FourthColumnOfRightOperandDoesntMatter_Test: ¿No hacen 
exactamente lo mismo?

6- 
OperatorProduct5_TranslationMatrixAndTransformationMatrixAreCorrectlyMultiplied_
Test: Si usas una matriz de transformación rellenando sólo la diagonal, 
¿cómo sabes que el resto de elementos están realmente participando en la 
operación?

7- OperatorProduct5_FourthColumnOfLeftOperandDoesntMatter y 
OperatorProduct5_FourthColumnOfRightOperandDoesntMatter: ¿No hacen exactamente 
lo mismo?

8- OperatorProductAssignation1_IsConmutative_Test, entre otros: "Conmutative" = 
"Commutative". Sustituye en todo el fichero "onmutative" por "ommutative".

9- OperatorProductAssignation1_CanBeMultipliedByItself_Test y 
OperatorProductAssignation2_CanBeMultipliedByItself_Test: Falta probar cuando 
OPERAND1 es 4x4 (caso 1) y cuando OPERAND1 es 4x3 (caso 2). Sé que en 
QTransformationMatrix también falta, es algo de lo que me acabo de dar cuenta, 
por favor pon un TODO allí.

10- 
OperatorProductAssignation2_OnlyThirdRowElementsOfRightOperandParticipates_Test:
 Sería la cuarta fila en lugar de la tercera, y no sería sólo del operando 
de la derecha, sino de ambos operandos. La documentación también debe ser 
corregida.

11- OperatorAssignation_EveryElementIsAssignedToRightTargetElement_Test: 
"QTranslationMatrix<T> matrixUT = MATRIX" ahí se está utilizando el 
constructor de copia en lugar del operador de asignación, hay que hacerlo en 
dos líneas. Está mal también en QTransformationMatrix, por favor corrígelo 
allí también.

12- GetTranslation3: Añadiría un test pra asegurar que W siempre será cero.

13- Falta testear el método GetDeterminant.

14- ProductOperatorImp_MatricesAreCorrectlyMultiplied_Template y 
ProductOperatorImp_TranslationMatricesProductIsConmutative_Template: La 
variable matrixUT no tiene por qué ser de tipo QTranslationMatrixWhiteBox.

Original comment by Lince3D@gmail.com on 12 Aug 2012 at 4:51

GoogleCodeExporter commented 8 years ago
Cambios realizados.

Original comment by borderpa...@gmail.com on 20 Aug 2012 at 10:37

Attachments:

GoogleCodeExporter commented 8 years ago
Resultado de la revisión:

1- Constructor5_WValueFrom4DVectorDoesNotParticipate_Test: Falta un punto y 
final en la documentación.

2- OperatorProduct2_FourthColumnOfLeftOperandDoesntMatter_Test y 
OperatorProduct2_FourthColumnOfRightOperandDoesntMatter_Test: ¿No hacen 
exactamente lo mismo?

3- OperatorProduct5_FourthColumnOfLeftOperandDoesntMatter y 
OperatorProduct5_FourthColumnOfRightOperandDoesntMatter: ¿No hacen exactamente 
lo mismo?

4- GetTranslation3: Añadiría un test pra asegurar que W siempre será cero.

Original comment by Lince3D@gmail.com on 21 Aug 2012 at 9:57

GoogleCodeExporter commented 8 years ago
Cambios realizados

Original comment by borderpa...@gmail.com on 24 Aug 2012 at 1:21

Attachments:

GoogleCodeExporter commented 8 years ago
Resultado de la revisión: Correcta.

Original comment by Lince3D@gmail.com on 24 Aug 2012 at 6:10