> The point is to confirm that the function does not make any other changes to the passed cubes.

I appreciate that, I was just asking why compare to **each** cube of the original group and not to a **single reference cube** (self.cube_no_attrs).  This way you wouldn't need to iterate through two lists of cubes, just the one.