def test_record_score_lt_best(self): # setup tuner = MagicMock() instance = MagicMock(spec_set=BTBSession) instance._make_id.return_value = 0 instance.proposals = [{'test': 'test'}] instance._tuners = {'test': tuner} instance.best_proposal = None instance._best_normalized = 10 instance._normalize.return_value = 1 instance._normalized_scores = defaultdict(list) # run BTBSession.record(instance, 'test', 'config', 1) # assert expected_normalized_scores = defaultdict(list) expected_normalized_scores['test'].append(1) assert instance.best_proposal is None assert instance._normalized_scores == expected_normalized_scores assert instance._best_normalized == 10 tuner.record.assert_called_once_with('config', 1)
def test_record_score_is_none(self): # setup instance = MagicMock(spec_set=BTBSession) instance._make_id.return_value = 0 instance.proposals = [{'test': 'test'}] instance.errors = Counter() instance._max_errors = 5 # run BTBSession.record(instance, 'test', 'config', None) # assert instance.handle_error.assert_called_once_with('test')
def test_record_score_gt_best_tuner_none(self): # setup instance = MagicMock(spec_set=BTBSession) instance._make_id.return_value = 0 instance.proposals = [{'test': 'test'}] instance._tuners = {'test': None} instance.best_proposal = None instance._best_normalized = 0 instance._normalize.return_value = 1 instance._normalized_scores = defaultdict(list) # run BTBSession.record(instance, 'test', 'config', 1) # assert expected_normalized_scores = defaultdict(list) expected_normalized_scores['test'].append(1) assert instance._normalized_scores == expected_normalized_scores assert instance.best_proposal == {'test': 'test', 'score': 1} assert instance._best_normalized == 1