def testOneSplit4(self): """ lots of duplicates """ d = [(1., 0), (1.1, 0), (1.2, 0), (1.2, 1), (1.4, 0), (1.4, 0), (1.6, 0), (2., 1), (2.1, 1), (2.1, 1), (2.1, 1), (2.1, 1), (2.2, 1), (2.3, 1)] varValues, resCodes = zip(*d) nPossibleRes = 2 res = Quantize.FindVarQuantBound(varValues, resCodes, nPossibleRes) target = (1.8, 0.68939) assert list(map(lambda x,y:Quantize.feq(x,y,1e-4),res,target))==[1,1],\ 'result comparison failed: %s != %s'%(res,target)
def testOneSplit5(self): """ same as testOneSplit1 data, but out of order """ d = [(1., 0), (1.1, 0), (2.2, 1), (1.2, 0), (1.6, 0), (1.4, 0), (2., 1), (2.1, 1), (1.4, 0), (2.3, 1)] varValues, resCodes = zip(*d) nPossibleRes = 2 res = Quantize.FindVarQuantBound(varValues, resCodes, nPossibleRes) target = (1.8, 0.97095) assert list(map(lambda x,y:Quantize.feq(x,y,1e-4),res,target))==[1,1],\ 'result comparison failed: %s != %s'%(res,target)
def testOneSplit2_noise(self): # """ some noise """ d = [(1., 0), (1.1, 0), (1.2, 0), (1.4, 0), (1.4, 1), (1.6, 0), (2., 1), (2.1, 1), (2.2, 1), (2.3, 1)] varValues, resCodes = zip(*d) nPossibleRes = 2 res = Quantize.FindVarQuantBound(varValues, resCodes, nPossibleRes) target = (1.8, 0.60999) self.assertEqual( list(map(lambda x, y: Quantize.feq(x, y, 1e-4), res, target)), [1, 1], 'result comparison failed: %s != %s' % (res, target))
def testOneSplit3(self): """ optimal division not possibe """ d = [(1., 0), (1.1, 0), (1.2, 0), (1.4, 2), (1.4, 2), (1.6, 2), (2., 2), (2.1, 1), (2.2, 1), (2.3, 1)] varValues, resCodes = zip(*d) nPossibleRes = 3 res = Quantize.FindVarQuantBound(varValues, resCodes, nPossibleRes) target = (1.3, 0.88129) assert list(map(lambda x,y:Quantize.feq(x,y,1e-4),res,target))==[1,1],\ 'result comparison failed: %s != %s'%(res,target)
def testOneSplit5_outOfOrder(self): # """ same as testOneSplit1 data, but out of order """ d = [(1., 0), (1.1, 0), (2.2, 1), (1.2, 0), (1.6, 0), (1.4, 0), (2., 1), (2.1, 1), (1.4, 0), (2.3, 1)] varValues, resCodes = zip(*d) nPossibleRes = 2 res = Quantize.FindVarQuantBound(varValues, resCodes, nPossibleRes) target = (1.8, 0.97095) self.assertEqual( [Quantize.feq(x, y, 1e-4) for x, y in zip(res, target)], [1, 1], 'result comparison failed: %s != %s' % (res, target))
def testOneSplit3(self): # """ optimal division not possibe """ d = [(1., 0), (1.1, 0), (1.2, 0), (1.4, 2), (1.4, 2), (1.6, 2), (2., 2), (2.1, 1), (2.2, 1), (2.3, 1)] varValues, resCodes = zip(*d) nPossibleRes = 3 res = Quantize.FindVarQuantBound(varValues, resCodes, nPossibleRes) target = (1.3, 0.88129) self.assertEqual( [Quantize.feq(x, y, 1e-4) for x, y in zip(res, target)], [1, 1], 'result comparison failed: %s != %s' % (res, target))
def testOneSplit1(self): # """ simple case (clear division) """ d = [(1., 0), (1.1, 0), (1.2, 0), (1.4, 0), (1.4, 0), (1.6, 0), (2., 1), (2.1, 1), (2.2, 1), (2.3, 1)] varValues, resCodes = zip(*d) nPossibleRes = 2 res = Quantize.FindVarQuantBound(varValues, resCodes, nPossibleRes) target = (1.8, 0.97095) self.assertEqual( [Quantize.feq(x, y, 1e-4) for x, y in zip(res, target)], [1, 1], 'result comparison failed: %s != %s' % (res, target))
def testOneSplit4_duplicates(self): # """ lots of duplicates """ d = [(1., 0), (1.1, 0), (1.2, 0), (1.2, 1), (1.4, 0), (1.4, 0), (1.6, 0), (2., 1), (2.1, 1), (2.1, 1), (2.1, 1), (2.1, 1), (2.2, 1), (2.3, 1)] varValues, resCodes = zip(*d) nPossibleRes = 2 res = Quantize.FindVarQuantBound(varValues, resCodes, nPossibleRes) target = (1.8, 0.68939) self.assertEqual( [Quantize.feq(x, y, 1e-4) for x, y in zip(res, target)], [1, 1], 'result comparison failed: %s != %s' % (res, target))
def testOneSplit2(self): """ some noise """ d = [(1.,0), (1.1,0), (1.2,0), (1.4,0), (1.4,1), (1.6,0), (2.,1), (2.1,1), (2.2,1), (2.3,1)] varValues = map(lambda x:x[0],d) resCodes = map(lambda x:x[1],d) nPossibleRes = 2 res = Quantize.FindVarQuantBound(varValues,resCodes,nPossibleRes) target = (1.8,0.60999) assert map(lambda x,y:Quantize.feq(x,y,1e-4),res,target)==[1,1],\ 'result comparison failed: %s != %s'%(res,target)