'Regression test for https://aeon.stsci.edu/ssb/trac/pyfits/ticket/201'

def test_string_array_round_trip(self):

    data = [['abc', 'def', 'ghi'], ['jkl', 'mno', 'pqr'], ['stu', 'vwx', 'yz    ']]
    recarr = np.rec.array([(data,), (data,)], formats=['(3,3)S3'])
    t = fits.BinTableHDU(data=recarr)
    t.writeto(self.temp('test.fits'))
    with fits.open(self.temp('test.fits')) as h:
        assert ('TDIM1' in h[1].header)
        assert (h[1].header['TDIM1'] == '(3,3,3)')
        assert (len(h[1].data) == 2)
        assert (len(h[1].data[0]) == 1)
        assert (h[1].data.field(0)[0] == np.char.decode(recarr.field(0)[0], 'ascii')).all()
    with fits.open(self.temp('test.fits')) as h:
        h[1].data[:]
        h.writeto(self.temp('test2.fits'))
    with fits.open(self.temp('test2.fits')) as h:
        assert ('TDIM1' in h[1].header)
        assert (h[1].header['TDIM1'] == '(3,3,3)')
        assert (len(h[1].data) == 2)
        assert (len(h[1].data[0]) == 1)
        assert (h[1].data.field(0)[0] == np.char.decode(recarr.field(0)[0], 'ascii')).all()
