Example #1
0
def test_id_field_changes_correct_for_repeat_conversions():
    settings = {
        'Study': {
            'AND01': 'ANDT'
        },
        'Site': {
            'UTO': 'CMH'
        },
        'Subject': {
            '^(0001|0002)->H\\1': '^H([0-9]+)->\\1'
        }
    }
    correct_kcni = "AND01_UTO_0001_01_SE01_MR"
    correct_datman = "ANDT_CMH_H0001_01_01"

    # KCNI to datman and back
    kcni_ident = scanid.parse(correct_kcni, settings)
    dm_ident = scanid.parse(str(kcni_ident), settings)
    assert str(dm_ident) == correct_datman

    new_kcni = scanid.get_kcni_identifier(dm_ident, settings)
    assert new_kcni.orig_id == correct_kcni

    # Datman to KCNI and back
    dm_ident = scanid.parse(correct_datman, settings)
    kcni_ident = scanid.get_kcni_identifier(dm_ident, settings)
    assert kcni_ident.orig_id == correct_kcni

    new_dm = scanid.parse(str(kcni_ident), settings)
    assert str(new_dm) == correct_datman
Example #2
0
def test_get_kcni_identifier_handles_already_kcni():
    kcni = "ABC01_UTO_12345678_01_SE02_MR"
    kcni_ident = scanid.parse(kcni)

    kcni1 = scanid.get_kcni_identifier(kcni)
    assert isinstance(kcni1, scanid.KCNIIdentifier)
    assert kcni1.orig_id == kcni

    kcni2 = scanid.get_kcni_identifier(kcni_ident)
    assert isinstance(kcni2, scanid.KCNIIdentifier)
    assert kcni2.orig_id == kcni
Example #3
0
def test_get_kcni_identifier_from_datman_with_field_changes():
    settings = {"STUDY": {"AND01": "ANDT"}, "SITE": {"UTO": "CMH"}}

    kcni = scanid.get_kcni_identifier("ANDT_CMH_0001_01_01", settings)
    assert kcni.study == "ANDT"
    assert kcni.site == "CMH"
    assert kcni.orig_id == "AND01_UTO_0001_01_SE01_MR"

    kcni_pha = scanid.get_kcni_identifier("ANDT_CMH_PHA_FBN0023", settings)
    assert kcni_pha.study == "ANDT"
    assert kcni_pha.site == "CMH"
    assert kcni_pha.orig_id == "AND01_UTO_FBNPHA_0023_MR"
Example #4
0
def test_get_kcni_identifier_correctly_reverses_subject_field_changes():
    settings = {
        'Subject': {
            '(100001|100002)->H\\1': '^H([0-9]+)->\\1'
        }
    }

    kcni = scanid.get_kcni_identifier("ABC01_CMH_H100001_01_01", settings)
    assert kcni.subject == "H100001"
    assert kcni.orig_id == "ABC01_CMH_100001_01_SE01_MR"

    kcni = scanid.get_kcni_identifier("ABC01_CMH_PHA_FBN201013", settings)
    assert kcni.subject == "PHA_FBN201013"
    assert kcni.orig_id == "ABC01_CMH_FBNPHA_201013_MR"
Example #5
0
def test_kcni_converted_to_datman_and_back_is_unmodified():
    orig_kcni = 'SPN01_CMH_0001_01_SE01_MR'
    kcni_ident = scanid.parse(orig_kcni)
    datman = scanid.parse(str(kcni_ident))
    assert isinstance(datman, scanid.DatmanIdentifier)

    new_kcni = scanid.get_kcni_identifier(datman)
    assert new_kcni.orig_id == orig_kcni
Example #6
0
def test_datman_converted_to_kcni_and_back_is_unmodified():
    orig_datman = 'SPN01_CMH_0001_01_01'

    dm_ident = scanid.parse(orig_datman)
    kcni = scanid.get_kcni_identifier(dm_ident)
    assert isinstance(kcni, scanid.KCNIIdentifier)

    new_datman = scanid.parse(str(kcni))
    assert str(new_datman) == orig_datman
Example #7
0
def test_get_kcni_identifier_from_datman_pha_ident():
    dm_ident = scanid.parse("OPT01_UTO_PHA_ADN0001")
    kcni_ident = scanid.get_kcni_identifier(dm_ident)
    assert isinstance(kcni_ident, scanid.KCNIIdentifier)
    assert kcni_ident.orig_id == "OPT01_UTO_ADNPHA_0001_MR"
Example #8
0
def test_get_kcni_identifier_from_datman_ident():
    ident = scanid.parse("SPN01_CMH_0001_01_01")
    kcni_ident = scanid.get_kcni_identifier(ident)
    assert isinstance(kcni_ident, scanid.KCNIIdentifier)
    assert kcni_ident.orig_id == "SPN01_CMH_0001_01_SE01_MR"
Example #9
0
def test_get_kcni_identifier_from_datman_date_based_pha_str():
    kcni_ident = scanid.get_kcni_identifier("OPT01_UTO_PHA_FBN190603")
    assert isinstance(kcni_ident, scanid.KCNIIdentifier)
    assert kcni_ident.orig_id == "OPT01_UTO_FBNPHA_190603_MR"
Example #10
0
def test_get_kcni_identifier_from_datman_pha_str():
    kcni_ident = scanid.get_kcni_identifier("ABC01_CMH_PHA_FBN0001")
    assert isinstance(kcni_ident, scanid.KCNIIdentifier)
    assert kcni_ident.orig_id == "ABC01_CMH_FBNPHA_0001_MR"
Example #11
0
def test_get_kcni_identifier_from_datman_str():
    kcni_ident = scanid.get_kcni_identifier("ABC01_UTO_12345678_01_02")
    assert isinstance(kcni_ident, scanid.KCNIIdentifier)
    assert kcni_ident.orig_id == "ABC01_UTO_12345678_01_SE02_MR"