def test_estimate_functions_1(): res = estimate_optimal_with_K_and_M(99, 1024) assert res[0] == 7, res[0] assert res[1] == 146, res[1] assert res[2] == 1022, res[2] assert abs(.008 - res[3]) < .001, res[3] res = estimate_optimal_with_K_and_f(99, 0.00701925498897) assert res[0] == 7, res[0] assert res[1] == 145, res[1] assert res[2] == 1015, res[2] assert abs(.008 - res[3]) < .002, res[3] res = estimate_optimal_with_K_and_M(1024, 2) assert res[0] == 1, res[0] assert res[1] == 2, res[1] assert res[2] == 2, res[2] assert res[3] == 1.0, res[3] # using a crazy high FP rate just for coverage res = estimate_optimal_with_K_and_f(1024, 0.7) assert res[0] == 1, res[0] assert res[1] == 850, res[1] assert res[2] == 850, res[2] assert abs(.7 - res[3]) < 0.0022, abs(.7 - res[3])
def test_estimate_functions_namedtup(): res = estimate_optimal_with_K_and_M(99, 1024) assert res.num_htables == 7, res[0] assert res.htable_size == 146, res[1] assert res.mem_use == 1022, res[2] assert abs(.008 - res.fp_rate) < .001, res[3] res = estimate_optimal_with_K_and_f(99, 0.00701925498897) assert res.num_htables == 7, res[0] assert res.htable_size == 145, res[1] assert res.mem_use == 1015, res[2] assert abs(.008 - res.fp_rate) < .002, res[3]