From 45e123042bb7735dee710c2e13b26e13e5f1f0cf Mon Sep 17 00:00:00 2001 From: Blake Fitch <blake.fitch@tuebingen.mpg.de> Date: Sat, 6 Jan 2024 11:37:36 +0100 Subject: [PATCH] test case for experiment ids to avoid dups and valide. --- pymods/experiment_id/experiment_id_test.py | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 pymods/experiment_id/experiment_id_test.py diff --git a/pymods/experiment_id/experiment_id_test.py b/pymods/experiment_id/experiment_id_test.py new file mode 100644 index 0000000..afde0cc --- /dev/null +++ b/pymods/experiment_id/experiment_id_test.py @@ -0,0 +1,53 @@ +import sys +import experiment_id as xid + +print("testing experiment id") + + +#for i in range(20): +# num = 100000 + i +# print( " i: ", str( num ), " experiment id: ", xid.experiment_number_to_id( num ) ) + +id_for_100000 = "DWSW-PYHA" +if xid.experiment_number_to_id( 100000 ) != id_for_100000: + print("First possible experiment number (100000) fails to generate correct id: " + id_for_100000) + sys.exit(-1) +if not xid.experiment_id_validate( id_for_100000 ): + print("First possible experiment number (100000) fails to validate as id: " + id_for_100000) + sys.exit(-1) + +valid_dict = {} + +#Put a test duplicate in. +test_id = "JHQO-VWJR" +test_num = 100017 +valid_dict[ test_id ] = test_num + +for i in range(100000,999999): + num = i + id = xid.experiment_number_to_id( num ) + valid = xid.experiment_id_validate( id ) + if not valid: + print("ID Failed to validate id:" + str(id) + "valid:" + str(valid)) + continue + if id in valid_dict: + if id != test_id or num != test_num: + print("ID duplicate found. id:" + str(id) + " num " + str(num) + " prev num: " + str(valid_dict[id]) ) + valid_dict[ id ] = num + +print("Finished validating all usable experiment ids from 100000 to 999999") + +""" +num = 123456 +trc = False +while True: + id = xid.experiment_number_to_id( num ) + valid = xid.experiment_id_validate( id ) + if not valid or num == 123283 or id == "IC5G-LCTG": + trc = True + print( "FAIL at num: ", num, " id: ", id ) + id = xid.experiment_number_to_id( num ) + valid = xid.experiment_id_validate( id ) + trc = False + num += 1 +""" \ No newline at end of file -- GitLab