def test_rappor():
    responder = Responder()
    reviewer = Reviewer()
    num_responders = 1000
    num_choices = 20
    real_responses = [0] * num_choices
    random_responses = [0] * num_choices
    real_responses_per = [0] * num_choices
    estimated_responses_per = [0] * num_choices
    total_random = 0
    print("")
    for x in range(num_responders):
        real_value = int(round(normalvariate(10, 1), 0))
        real_value = min(num_choices - 1, real_value)
        real_value = max(0, real_value)
        real_responses[real_value] += 1
        response = responder._generate_response(num_choices, real_value)
        for y in range(num_choices):
            random_responses[y] += response[y]

    estimated_responses = reviewer._estimate_responses(random_responses,
                                                       num_responders)
    for y in range(num_choices):
        real_responses_per[y] = round(real_responses[y] / num_responders,
                                      4) * 100
        estimated_responses_per[y] = estimated_responses[y] * 100
    print(["{0:0.2f}".format(i) for i in real_responses_per])
    print(["{0:0.2f}".format(i) for i in estimated_responses_per])

    assert (True)