def test_process_emodel_no_exemplars(): # input parameters emodel = 'emodel1' mtypes = ['mtype1', 'mtype2'] scores_dict = {'emodel': [emodel, emodel], 'is_exemplar': [0, 0], 'is_repaired': [1, 0], 'is_original': [1, 0], 'opt_scores': [json.dumps({'Step1.SpikeCount': 2.0}), json.dumps({'Step1.SpikeCount': 2.0})], 'scores': [json.dumps({'Step1.SpikeCount': 2.0}), json.dumps({'Step1.SpikeCount': 2.0})], 'etype': ['etype1', 'etype2'], 'fullmtype': mtypes, 'mtype': mtypes, 'extra_values': [json.dumps({'threshold_current': 0.0, 'holding_current': 0.0}), json.dumps({'threshold_current': 0.0, 'holding_current': 0.0})], 'morph_name': ['morph1', 'morph1'], 'layer': ['layer_1', 'layer_1'] } scores = pandas.DataFrame(scores_dict) score_values_dict = {'Step1.SpikeCount': [2.0, 2.0]} score_values = pandas.DataFrame(score_values_dict) to_skip_patterns = [] regex_all = re.compile('.*') megate_patterns = [{'megate_feature_threshold': {'megate_threshold': 5, 'features': regex_all}, 'emodel': regex_all, 'fullmtype': regex_all, 'etype': regex_all}] skip_repaired_exemplar = False enable_check_opt_scores = True select_best_perc = None # run function ret = table_processing.process_emodel(( emodel, scores, score_values, to_skip_patterns, megate_patterns, skip_repaired_exemplar, enable_check_opt_scores, select_best_perc)) # verify results nt.assert_is_none(ret)
def test_process_emodel(): # input parameters emodel = 'emodel1' mtypes = ['mtype1', 'mtype2'] scores_dict = {'emodel': [emodel, emodel], 'is_exemplar': [1, 0], 'is_repaired': [1, 0], 'is_original': [0, 0], 'opt_scores': [json.dumps({'Step1.SpikeCount': 2.0}), json.dumps({'Step1.SpikeCount': 2.0})], 'scores': [json.dumps({'Step1.SpikeCount': 2.0}), json.dumps({'Step1.SpikeCount': 2.0})], 'etype': ['etype1', 'etype2'], 'fullmtype': mtypes, 'mtype': mtypes, 'extra_values': [json.dumps({'threshold_current': 0.0, 'holding_current': 0.0}), json.dumps({'threshold_current': 0.0, 'holding_current': 0.0})], 'morph_name': ['morph1', 'morph1'], 'layer': ['layer_1', 'layer_1'] } scores = pandas.DataFrame(scores_dict) score_values_dict = {'Step1.SpikeCount': [2.0, 2.0]} score_values = pandas.DataFrame(score_values_dict) to_skip_patterns = [] regex_all = re.compile('.*') megate_patterns = [{'megate_feature_threshold': {'megate_threshold': 5, 'features': regex_all}, 'emodel': regex_all, 'fullmtype': regex_all, 'etype': regex_all}] skip_repaired_exemplar = False enable_check_opt_scores = True select_best_perc = None emodel, emodel_info = table_processing.process_emodel( (emodel, scores, score_values, to_skip_patterns, megate_patterns, skip_repaired_exemplar, enable_check_opt_scores, select_best_perc)) (emodel_ext_neurondb, emodel_megate_pass, emodel_score_values, mtypes, emodel_megate_passed_all, emodel_median_scores, passed_combos) = emodel_info nt.assert_equal(emodel, emodel) # expected results columns = ['morph_name', 'layer', 'fullmtype', 'etype', 'emodel', 'combo_name', 'threshold_current', 'holding_current'] db_dict = {'morph_name': 'morph1', 'layer': 'layer_1', 'fullmtype': 'mtype2', 'etype': 'etype2', 'emodel': 'emodel1', 'threshold_current': 0.0, 'holding_current': 0.0, 'combo_name': 'emodel1_mtype2_layer_1_morph1' } exp_db = pandas.DataFrame(data=db_dict, columns=columns, index=[1]) columns = ['Step1.SpikeCount', 'Passed all'] megate_scores_dict = {'Step1.SpikeCount': True, 'Passed all': True} exp_megate_scores = pandas.DataFrame(data=megate_scores_dict, columns=columns, index=[1]) exp_score_values = pandas.DataFrame({'Step1.SpikeCount': 2.0}, index=[1]) exp_mtypes = pandas.Series('mtype2', index=[1], name='fullmtype') # verify results pandas.util.testing.assert_frame_equal(emodel_ext_neurondb, exp_db) pandas.util.testing.assert_frame_equal( emodel_megate_pass, exp_megate_scores) pandas.util.testing.assert_frame_equal( emodel_score_values, exp_score_values) pandas.util.testing.assert_series_equal(mtypes, exp_mtypes)