def testNoValid(self): algo = raptor.Algorithms.ORIG size = 3 sku_src = set(['sku0', 'sku1', 'sku2', 'sku3', 'sku4', 'sku5', 'sku6', 'sku7', 'sku8', 'sku9']) sku_dst = set([]) purchase_map = {'sku0': set(['cust1', 'cust2']), 'sku1': set(['cust1', 'cust2', 'cust3']), 'sku2': set(['cust2']), 'sku3': set(['cust1', 'cust2']), 'sku4': set(['cust4', 'cust5', 'cust3']), 'sku5': set(['cust1']), 'sku6': set(['cust5', 'cust3']), 'sku7': set(['cust4']), 'sku8': set(['cust1', 'cust4']), 'sku9': set(['cust2'])} view_map = {'sku0': set(['cust1', 'cust2', 'cust3', 'cust4']), 'sku1': set(['cust1', 'cust2', 'cust3', 'cust4', 'cust5']), 'sku2': set(['cust2', 'cust4', 'cust5']), 'sku3': set(['cust1', 'cust2']), 'sku4': set(['cust4', 'cust5', 'cust1', 'cust3']), 'sku5': set(['cust1', 'cust2', 'cust3']), 'sku6': set(['cust5', 'cust3']), 'sku7': set(['cust4', 'cust5']), 'sku8': set(['cust1', 'cust4']), 'sku9': set(['cust2', 'cust4'])} cart_map = {'sku0': set(['cust1', 'cust2']), 'sku1': set(['cust1', 'cust2', 'cust3']), 'sku2': set(['cust2', 'cust4']), 'sku3': set(['cust1', 'cust2']), 'sku4': set(['cust4', 'cust5', 'cust1', 'cust3']), 'sku5': set(['cust1']), 'sku6': set(['cust5', 'cust3']), 'sku7': set(['cust4']), 'sku8': set(['cust1', 'cust4']), 'sku9': set(['cust2'])} res = raptor.apply_jaccard(algo, size, sku_src, sku_dst, purchase_map, view_map, cart_map) self.assertEqual(len(res), 10) for item in res.values(): self.assertLessEqual(len(item), 0)
def testSizeNeg(self): algo = raptor.Algorithms.ORIG size = -3 sku_src = set(['sku0', 'sku1', 'sku2', 'sku3', 'sku4', 'sku5', 'sku6', 'sku7', 'sku8', 'sku9']) sku_dst = set(['sku1', 'sku2', 'sku3', 'sku4', 'sku5', 'sku6', 'sku7', 'sku8']) purchase_map = {'sku0': set(['cust1', 'cust2']), 'sku1': set(['cust1', 'cust2', 'cust3']), 'sku2': set(['cust2']), 'sku3': set(['cust1', 'cust2']), 'sku4': set(['cust4', 'cust5', 'cust3']), 'sku5': set(['cust1']), 'sku6': set(['cust5', 'cust3']), 'sku7': set(['cust4']), 'sku8': set(['cust1', 'cust4']), 'sku9': set(['cust2'])} view_map = {'sku0': set(['cust1', 'cust2', 'cust3', 'cust4']), 'sku1': set(['cust1', 'cust2', 'cust3', 'cust4', 'cust5']), 'sku2': set(['cust2', 'cust4', 'cust5']), 'sku3': set(['cust1', 'cust2']), 'sku4': set(['cust4', 'cust5', 'cust1', 'cust3']), 'sku5': set(['cust1', 'cust2', 'cust3']), 'sku6': set(['cust5', 'cust3']), 'sku7': set(['cust4', 'cust5']), 'sku8': set(['cust1', 'cust4']), 'sku9': set(['cust2', 'cust4'])} cart_map = {'sku0': set(['cust1', 'cust2']), 'sku1': set(['cust1', 'cust2', 'cust3']), 'sku2': set(['cust2', 'cust4']), 'sku3': set(['cust1', 'cust2']), 'sku4': set(['cust4', 'cust5', 'cust1', 'cust3']), 'sku5': set(['cust1']), 'sku6': set(['cust5', 'cust3']), 'sku7': set(['cust4']), 'sku8': set(['cust1', 'cust4']), 'sku9': set(['cust2'])} res = raptor.apply_jaccard(algo, size, sku_src, sku_dst, purchase_map, view_map, cart_map) self.assertEqual(len(res), 0)
def testNull(self): algo = raptor.Algorithms.ORIG size = 3 sku_src = set([]) sku_dst = set([]) purchase_map = {} view_map = {} cart_map = {} res = raptor.apply_jaccard(algo, size, sku_src, sku_dst, purchase_map, view_map, cart_map) self.assertEqual(len(res), 0)
def testNormalOrig2(self): algo = raptor.Algorithms.ORIG size = 3 sku_src = set(['sku5', 'sku6', 'sku7', 'sku8', 'sku9']) sku_dst = set(['sku5', 'sku6', 'sku7', 'sku8']) purchase_map = {'sku0': set(['cust1', 'cust2']), 'sku1': set(['cust1', 'cust2', 'cust3']), 'sku2': set(['cust2']), 'sku3': set(['cust1', 'cust2']), 'sku4': set(['cust4', 'cust5', 'cust3']), 'sku5': set(['cust1']), 'sku6': set(['cust5', 'cust3']), 'sku7': set(['cust4']), 'sku8': set(['cust1', 'cust4']), 'sku9': set(['cust2'])} view_map = {'sku0': set(['cust1', 'cust2', 'cust3', 'cust4']), 'sku1': set(['cust1', 'cust2', 'cust3', 'cust4', 'cust5']), 'sku2': set(['cust2', 'cust4', 'cust5']), 'sku3': set(['cust1', 'cust2']), 'sku4': set(['cust4', 'cust5', 'cust1', 'cust3']), 'sku5': set(['cust1', 'cust2', 'cust3']), 'sku6': set(['cust5', 'cust3']), 'sku7': set(['cust4', 'cust5']), 'sku8': set(['cust1', 'cust4']), 'sku9': set(['cust2', 'cust4'])} cart_map = {'sku0': set(['cust1', 'cust2']), 'sku1': set(['cust1', 'cust2', 'cust3']), 'sku2': set(['cust2', 'cust4']), 'sku3': set(['cust1', 'cust2']), 'sku4': set(['cust4', 'cust5', 'cust1', 'cust3']), 'sku5': set(['cust1']), 'sku6': set(['cust5', 'cust3']), 'sku7': set(['cust4']), 'sku8': set(['cust1', 'cust4']), 'sku9': set(['cust2'])} res = raptor.apply_jaccard(algo, size, sku_src, sku_dst, purchase_map, view_map, cart_map) self.assertEqual(len(res), 5) for item in res.values(): self.assertLessEqual(len(item), size) self.assertIn('sku6', res) self.assertEqual(len(res['sku6']), 0) self.assertIn('sku9', res) self.assertEqual(len(res['sku9']), 0) self.assertIn('sku5', res) t = dict(res['sku5']) self.assertIn('sku8', t); self.assertAlmostEqual(t['sku8'], 9.45, 2) self.assertIn('sku7', res) t = dict(res['sku7']) self.assertIn('sku8', t); self.assertAlmostEqual(t['sku8'], 9.45, 2) self.assertIn('sku8', res) t = dict(res['sku8']) self.assertIn('sku7', t); self.assertAlmostEqual(t['sku7'], 9.45, 2)
def testBrandNew(self): algo = raptor.Algorithms.ORIG size = 3 sku_src = set(['sku0', 'sku1', 'sku2', 'sku3', 'sku4', 'sku5', 'sku6', 'sku7', 'sku8', 'sku9']) sku_dst = set(['sku1', 'sku2', 'sku3', 'sku4', 'sku5', 'sku6', 'sku7', 'sku8']) purchase_map = {} view_map = {} cart_map = {} res = raptor.apply_jaccard(algo, size, sku_src, sku_dst, purchase_map, view_map, cart_map) self.assertEqual(len(res), 10) for item in res.values(): self.assertLessEqual(len(item), 0)