Exemple #1
0
	def testInterceptorsNonPure2(self):
		import inheritance, robin
		class FunctorImpl(inheritance.IFunctorImpl):
			pass
		class MyFunctorImpl(inheritance.IFunctorImpl):
			def operate(self, s, n):
				return robin.disown(stl.string(str(s) + str(n)))

		fi = FunctorImpl()
		mfi = MyFunctorImpl()
		elements = ["Elaine", "John", "Theodore"]
		melements1 = inheritance.mapper(elements, fi)
		melements2 = inheritance.mapper(elements, mfi)
		self.assertEquals(melements1, elements)
		self.assertEquals(melements2, 
			map(lambda x,y:x+str(y), elements, range(len(elements))))
Exemple #2
0
	def testInterceptors(self):
		import inheritance, robin
		class MyFunctor(inheritance.IFunctor):
			def operate(self, string, index):
				q = str(string)*index
				return robin.disown(stl.string(q))

		f = MyFunctor()
		elements = ["Aaron", "Mike", "Joseph"]
		melements = inheritance.mapper(elements, f)
		self.assertEquals(len(elements), len(melements))
		for i in xrange(len(elements)):
			self.assertEquals(elements[i] * i, melements[i])

		self.assertEquals(reduce(inheritance.mul, [f,f], 9), 9.0)