def test_prec_calc(self): amount = Decimal("1.4531250") splits = { 0: Decimal('0.9000000000000000000000000000'), 1: Decimal('0.1000000000000000000000000000') } _distributor(amount, splits)
def test_edge_case(self): amount = Decimal("1.00007884") splits = {"test": Decimal('0.32187500'), "two": Decimal('2.89687500'), "other": Decimal('2.78515625')} _distributor(amount, splits)
def test_final_hopefully(self): amount = Decimal("1.0117691900000000000000000000") splits = {"a": Decimal('0.0976562500000000000000000000'), "b": Decimal('8.3125'), "c": Decimal('0.8789062500000000000000000000'), "d": Decimal('0.71484375')} _distributor(amount, splits)
def test_basic_distrib(self): splits = {"a": Decimal(100), "b": Decimal(256), "c": Decimal(3)} amount = Decimal("100") _distributor(amount, splits) for k, val in splits.iteritems(): assert isinstance(val, Decimal) assert splits["b"] > (splits["a"] * Decimal("2.5")) assert splits["a"] > (splits["c"] * Decimal("33.33333")) self.assertEquals(sum(splits.itervalues()), amount)
def test_other(self): amount = Decimal("0.7109375") splits = {0: Decimal('0.9000000000000000000000000000'), 1: Decimal('0.1000000000000000000000000000')} ret = _distributor(amount, splits) self.assertEquals(sum(ret.itervalues()), amount)
def test_even_distrib(self): splits = {"a": Decimal(100)} _distributor(Decimal("100"), splits) assert splits["a"] == 100
'merged': '1' }) s = m.UserSettings(user="******", spayout_perc=Decimal("1.00"), spayout_addr="1JBDMJWBYgA6Rmp8EUPyzFQp79uNsJb67R", spayout_curr="BTC", pdonation_perc=Decimal("0.05")) db.session.add(s) db.session.commit() db.session.expunge_all() generate_credits() db.session.rollback() if __name__ == "__main__": import random import sys t = time.time() for i in xrange(10000): amount = Decimal(str(random.uniform(1, 100000))) splits = {} for i in xrange(random.randint(1, 5)): splits[i] = Decimal(str(random.uniform(1, 100))) round_sz = Decimal((0, (1, ), -1 * random.randint(2, 15))) splits[i] = splits[i].quantize(round_sz) sys.stdout.write(".") _distributor(amount, splits) print "completed in {}".format(time.time() - t)
def test_prec_calc(self): amount = Decimal("1.4531250") splits = {0: Decimal('0.9000000000000000000000000000'), 1: Decimal('0.1000000000000000000000000000')} _distributor(amount, splits)
'solve_time': '1410412589.175215', 'merged': '1'}) s = m.UserSettings(user="******", spayout_perc=Decimal("1.00"), spayout_addr="1JBDMJWBYgA6Rmp8EUPyzFQp79uNsJb67R", spayout_curr="BTC", pdonation_perc=Decimal("0.05")) db.session.add(s) db.session.commit() db.session.expunge_all() generate_credits() db.session.rollback() if __name__ == "__main__": import random import sys t = time.time() for i in xrange(10000): amount = Decimal(str(random.uniform(1, 100000))) splits = {} for i in xrange(random.randint(1, 5)): splits[i] = Decimal(str(random.uniform(1, 100))) round_sz = Decimal((0, (1, ), -1 * random.randint(2, 15))) splits[i] = splits[i].quantize(round_sz) sys.stdout.write(".") _distributor(amount, splits) print "completed in {}".format(time.time() - t)