¿Cuál es una manera fácil de comparar ArrayLists para la igualdad usando JUnit? ¿Debo implementar la interfaz de igualdad? ¿O hay un simple método JUnit que lo hace más fácil?¿Manera fácil de comparar ArrayLists para la igualdad usando JUnit?
Respuesta
No necesita hacer nada especial para la igualdad de listas, solo use assertEquals.
ArrayList y otras listas implementan equals() comprobando que todos los objetos en las posiciones correspondientes de las listas son iguales, utilizando el método equals() de los objetos. Por lo tanto, es posible que desee verificar que los objetos de la lista implementen sean iguales.
sí, me di cuenta cuando leí los documentos. –
El problema con esta respuesta es que no informará el contenido de la lista en caso de error. Intente usar assertThat (a, es (b)); en lugar. La advertencia de starblue sobre la implementación de iguales todavía se cumple. Ver también [pregunta duplicada 3236880] (http://stackoverflow.com/questions/3236880/assert-list-in-junit): mejores respuestas y muestras de código allí. – Barett
Actualización del futuro: esto no parece funcionar en matrices de tipos primitivos, y en cualquier caso, assertEquals (Object [], Object []) está en desuso. Use assertArrayEquals. – johncip
Es posible que desee comprobar la documentación para List.equals
.
Soy nuevo en Java gracias. –
¿Significa esto que si tengo una lista
Comparará los elementos de las listas con 'Object.equals'. Por defecto, esto será cierto si son la misma instancia. Si desea permitir diferentes objetos con los mismos datos internos para que coincidan, entonces deben proporcionar 'SomeClass' con un método' equals' (y 'hashCode'). –
Creo que esta podría ser una respuesta un poco fácil (aunque es correcta). Probar ArrayLists para iguales implica que has pensado en la igualdad de los elementos. Si los elementos son enteros, todo está bien. Pero si son instancias de tus propias clases de dominio, entonces deberías estar al tanto de las trampas que rodean la igualdad (y la clonación). Por favor, echa un vistazo a:
http://www.artima.com/lejava/articles/equality.html
para un buen conjunto de consejos acerca de la implementación de la igualdad. En un aparte: si alguna vez necesita clonar objetos, considere el uso de constructores de copia en lugar de implementar clonables. Cloneable presenta un conjunto completo de problemas que podrías no esperar.
- 1. JUnit 4 comparar Colecciones
- 2. Smalltalk - Comparar dos cadenas para la igualdad
- 3. comparar la igualdad de char [] en C
- 4. ¿Es una buena idea comparar double.MaxValue para la igualdad?
- 5. comparar arrays para la igualdad, el orden de los elementos
- 6. ¿La forma más compacta de comparar tres objetos para la igualdad usando Java?
- 7. ¿La manera más fácil de comparar dos archivos de Excel en Java?
- 8. Comprobación de profunda igualdad en JUnit tests
- 9. manera adecuada para comprobar la igualdad URL
- 10. ¿Cómo funciona Ruby's Array? comparar elementos para la igualdad?
- 11. Octave/MATLAB: ¿Cómo comparar las estructuras para la igualdad?
- 12. ¿Se pueden comparar objetos por dirección para la igualdad?
- 13. Probando la igualdad de cadenas usando hashCode()
- 14. ¿Cuál es la mejor manera de afirmar la igualdad numpy.array?
- 15. comparar archivos de texto con Junit
- 16. ¿Cómo comparar la igualdad entre EObject cuando contenían EList desordenado?
- 17. Manera elegante de comparar secuencias
- 18. Al comparar por igualdad, ¿está bien usar `==`?
- 19. Comparación de XmlDocument para la igualdad (contenido)
- 20. tipo genérico para Arraylist de ArrayLists
- 21. Cómo comparar 2 objetos por la igualdad en Objective-C
- 22. comparar dos lista <string> por la igualdad
- 23. Comparación de dos matrices numpy para la igualdad, elemento-sabio
- 24. ¿Cuál es la forma más rápida de comparar dos matrices para la igualdad?
- 25. Prueba de delegados para igualdad
- 26. ¿Debo declarar/Inicializar ArrayLists como listas, ArrayLists, o ArrayLists de <Cat>
- 27. Uso de XPath para comparar dos objetos XML para igualdad exacta
- 28. La forma más fácil de comparar matrices en C#
- 29. ¿Cuál es la mejor manera de comparar la igualdad de dos DateTime en C# ... pero solo con cierta precisión?
- 30. Cómo comparar los valores de función de Scala para la igualdad
Posible duplicado de [Afirmar la lista en Junit] (http://stackoverflow.com/questions/3236880/assert-list-in-junit) – djeikyb