예제 #1
0
def test_text_adapter_can_anonymize_data(patient_report):
    header, free_text, final_text = patient_report()
    text = TextAdapter(final_text)
    text.anonymize()

    for key in header.keys():
        assert key not in text.data
예제 #2
0
def test_anonymize_keeps_free_text_untouched(patient_report):
    header, free_text, final_text = patient_report()

    text = TextAdapter(final_text)
    text.anonymize()

    assert free_text in text.data
예제 #3
0
def test_original_id_property_is_set_after_a_call_to_anonymize(patient_report):
    header, free_text, final_text = patient_report()

    text = TextAdapter(final_text)
    text.anonymize()

    assert text.original_id
예제 #4
0
def test_digest_code_only_depends_on_patient_data():
    text1 = TextAdapter('no patient data')
    text2 = TextAdapter('but I do not have patient data either')

    text1.anonymize()
    text2.anonymize()

    assert text1.digest_code == text2.digest_code
예제 #5
0
def test_different_headers_create_different_digest_codes(patient_report):
    header, free_text, final_text = patient_report()
    header2, free_text2, final_text2 = patient_report()

    text1 = TextAdapter(final_text)
    text2 = TextAdapter(final_text2)

    text1.anonymize()
    text2.anonymize()

    assert text1.digest_code != text2.digest_code
예제 #6
0
def test_two_equal_patients_have_the_same_digest_code(patient_report):
    header, free_text, final_text = patient_report()
    header2, free_text2, final_text2 = patient_report(header=header)

    text1 = TextAdapter(final_text)
    text2 = TextAdapter(final_text2)

    text1.anonymize()
    text2.anonymize()

    assert text1.digest_code == text2.digest_code
예제 #7
0
def test_patient_data_order_is_irrelevant_on_digest_codes(patient_report):
    header, free_text, final_text = patient_report()
    header2, free_text2, final_text2 = patient_report(header=header,
                                                      ordered=False)

    text1 = TextAdapter(final_text)
    text2 = TextAdapter(final_text2)

    text1.anonymize()
    text2.anonymize()

    assert text1.digest_code == text2.digest_code
예제 #8
0
def test_multiple_calls_to_anonymize_do_not_change_data(patient_report):
    header, free_text, final_text = patient_report()

    text = TextAdapter(final_text)

    text.anonymize()

    previous_anonymous_data = text.data
    previous_digest_code = text.digest_code
    previous_original_id = text.original_id

    text.anonymize()

    assert text.data == previous_anonymous_data
    assert text.digest_code == previous_digest_code
    assert text.original_id == previous_original_id
예제 #9
0
def test_digest_code_is_initialized_after_anonymize_call():
    text = TextAdapter('some random data')
    text.anonymize()

    assert text.digest_code