Example #1
0
	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)
Example #2
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)
Example #3
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)
Example #4
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)
Example #5
0
	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)