What is an easy way to compare ArrayLists for equality using JUnit? Do I neeeeeed to implement the equality interface? Or is there a simple JUnit method that makes it easier?
You might want to check the documentation for List.equals
.
You need to do nothing special for list equality, just use assertEquals.
ArrayList and other lists implement equals() by checking that all objects in the corresponding positions of the lists are equal, using the equals() method of the objects. So you might want to check that the objects in the list implement equals correctly.
I think this might be a slightly too easy answer (although it is correct). Testing ArrayLists for equals implies you have given thought to equality of the elements. If the elements are Integers that is all fine. But if they are instances of your own domain classes, then you should be made aware of the pitfalls surrounding equality (and cloning). Please check out:
http://www.artima.com/lejava/articles/equality.html
for a good set of tips about implementing equality. On an aside: If you ever need to clone objects, reconsider implementing cloneable in favor of copy constructors. Cloneable introduces a whole set of problems you might not expect (left as an excercise for the reader for now).