def test_score_personal_3(self): print_test_info() reco = Reco( test_data['test_score_personal_3']['input']['extracted_data'], True, external_data={ 'item_data': test_item_data, 'user_click': test_data['test_score_personal_3']['input']['user_click'] }) recoList = reco.get_reco_list() expectedList = test_data['test_score_personal_3']['output'] for category in expectedList: for row in expectedList[category]: self.assertTrue( row['reco_hashkey'] in [data['reco_hashkey'] for data in recoList[category]]) recoItem = None for recoItem in recoList[category]: if row['reco_hashkey'] == recoItem['reco_hashkey']: break self.assertTrue(recoItem is not None) for i in range(0, len(row['score'])): if row['score'][i] == -1: continue self.assertEqual( row['score'][i], int((recoItem['score'] % math.pow(10, 6 - i)) / math.pow(10, 5 - i))) self.assertEqual(len(expectedList[category]), len(recoList[category]))
def save_all_recommend_item(): reco = Reco(json_data, show_external_data=False) all_list = reco.get_all_list() print(json.dumps(all_list, indent=4, sort_keys=True, ensure_ascii=False)) with open('testItemData.json', 'w') as outfile: json.dump(all_list, outfile, indent=4) with open('testItemDataEncoded.json', 'w') as outfile: json.dump(all_list, outfile, indent=4, ensure_ascii=False)
def test_distance_rank(self): print_test_info() reco = Reco(test_data['empty_data']['input'], True, external_data={ 'item_data': test_item_data, 'user_click': None }) array = test_data['test_distance_rank']['input']['array'] data = test_data['test_distance_rank']['input']['data'] expectedRank = test_data['test_distance_rank']['output']['rank'] for i in range(0, len(data)): rank = reco.get_range(array, data[i]) self.assertEqual(rank, expectedRank[i])
def test_load_all_null(self): print_test_info() reco = Reco(test_data['test_load_all_null']['input'], '', external_data={ 'item_data': test_item_data, 'user_click': None }) recoList = reco.get_all_list() expectedList = test_item_data for category in expectedList: for row in expectedList[category]: self.assertTrue( row['reco_hashkey'] in [data['reco_hashkey'] for data in recoList[category]]) self.assertEqual(len(expectedList[category]), len(recoList[category]))
def test_load_all_external_2(self): print_test_info() reco = Reco(test_data['test_region_filter_1']['input'], show_external_data=False, external_data={ 'item_data': test_item_data, 'user_click': None }) recoList = reco.get_reco_list() expectedList = test_data['test_region_filter_1']['output'] for category in expectedList: for row in recoList[category]: self.assertEqual(1, len(row)) for row in expectedList[category]: self.assertTrue( row['reco_hashkey'] in [data['reco_hashkey'] for data in recoList[category]]) self.assertEqual(len(expectedList[category]), len(recoList[category]))
def eventsDetail(): reinforceEventsReco = request.args['eventDetail'] print(reinforceEventsReco) reco_module = Reco(json.loads(reinforceEventsReco)) return json.dumps(reco_module.get_reco_list(), ensure_ascii=False)