def _set_ranges(self): rmin = self.min ranges = [] while rmin < self.max: rmax = self._exp_range(rmin, range_scale_factor) ranges.append(Range(rmin, rmax)) rmin = rmax # sometimes the last range might be smaller than the next to the last range # fix that if it happens (penultimate, ultimate) = ranges[-2:] if ultimate.span < penultimate.span: # create a new range to span both ranges merged_range = Range(penultimate.min, ultimate.max) # remove the last two ranges ranges = ranges[:-2] # and replace them with the merged range ranges.append(merged_range) for r in ranges: self.add_item(r.id, r)
class Test(unittest.TestCase): def setUp(self): self.r = Range(0, 1) def tearDown(self): pass def test_init(self): self.assertEqual(self.r.max, 1.0) self.assertEqual(self.r.min, 0.0) self.assertEqual(self.r.mean, 0.5) self.assertEqual(self.r.span, 1.0) def test_repr(self): self.assertEqual(self.r.__repr__(), '0.000000-1.000000') def test_getstate_is_pickle_friendly(self): # getstate should return a pickleable object import pickle state = self.r.__getstate__() try: pickle.dumps(state) except Exception, e: self.fail('Failed to pickle state: %s' % e)
class Test(unittest.TestCase): def setUp(self): self.r = Range(0, 1) def tearDown(self): pass def test_init(self): self.assertEqual(self.r.max, 1.0) self.assertEqual(self.r.min, 0.0) self.assertEqual(self.r.mean, 0.5) self.assertEqual(self.r.span, 1.0) def test_repr(self): self.assertEqual(self.r.__repr__(), '0.000000-1.000000')
def setUp(self): self.r = Range(0, 1)