def setUp(self):
        xlo, xhi, y = sherpa.utils.dataspace1d(0.1, 10.1, 0.1)
        data = sherpa.data.Data1D('dataspace1d', xlo, y)
        g1 = sherpa.models.Gauss1D('g1')
        g1.thawedpars = self._initial
        g1.thawedparmins = self._min
        g1.thawedparmaxes = self._max
        fit = sherpa.fit.Fit(data, g1, stat=sherpa.stats.Cash())
        thawedparmins = numpy.array(fit.model.thawedparhardmins)
        thawedparmaxes = numpy.array(fit.model.thawedparhardmaxes)

        def calc_stat(proposal):
            prop = numpy.atleast_1d(proposal)
            mins = sherpa.utils.sao_fcmp(prop, thawedparmins, _tol)
            maxes = sherpa.utils.sao_fcmp(thawedparmaxes, prop, _tol)
            if -1 in mins or -1 in maxes:
                raise LimitError('Sherpa parameter hard limit exception')
            fit.model.thawedpars = proposal
            return -0.5 * fit.calc_stat()

        sigma = g1.thawedpars
        dof = len(xlo) - len(sigma)
        mu = numpy.random.rand(3)
        self.mh = MH(calc_stat, sigma, mu, dof)
        current, stat = self.mh.init()