This comment got removed by your latest changes, perhaps you didn't see it before:

Is this change actually necessary? Can you talk me through the reasoning. As far as I'm aware the original assertion will only compare the unmasked values anyway...

```python
import numpy as np
import numpy.ma as ma

a = ma.array([1, 2, 3, 4, 5], mask=[0, 1, 0, 1, 0], fill_value=999)
b = ma.array([1, 4, 3, 8, 5], mask=[0, 1, 0, 1, 0], fill_value=-1e20)
np.testing.assert_array_equal(a, b)
```

The above works fine. Can you provide an example when this does not work as expected?