So my fundamental problem with these tests is that there has been a phase in the test which depends on the constructor and therefore is testing behaviour from code not being explicitly tested here. Essentially, if the constructors behaviour changes, it is not the job of these tests to tell us, that is the constructor's unit test's job...


I've put together a single test for bounds checking. It isn't pretty, but there is a lot of factorisation which would be shared with other tests in this test module:

```
    def test_no_units_collapse_bounds(self):
        # Check that the bounds are collapsed as expected on a coordinate of "no_unit".
        import mock
        bounds = np.array([['one', 'two', 'three'],
                           ['three', 'four', 'five'],
                           ['five', 'six', 'seven'],
                           ['seven', 'eight', 'nine']])
        expected_bounds = np.array([['one|three|five|seven',
                                     'two|four|six|eight',
                                     'three|five|seven|nine']], dtype='|S21')
        points = np.arange(4)
        expected_points = np.array('0|1|2|3', dtype='|S7')
        coord = mock.Mock(spec=AuxCoord, name='AuxCoord',
                          points=points,
                          bounds=bounds, units='no_unit')
        
        # Check that the AuxCoord copy method was called once with the
        # appropriate bounds.
        self.assertEqual(coord.copy.call_count, 1)
        args, kwargs = coord.copy.call_args
        
        self.assertEqual(coord.copy.call_count, 1)
        self.assertEqual(args, tuple())
        self.assertArrayEqual(kwargs['bounds'], expected_bounds)
```

I'm not saying this is perfect, but I think it is less dependent on the behaviour of code which is not being tested here.