Exemple #1
0
	def setUp(self):
		'''
		crete some basic vectors to test with 
		'''
		self.vec1 = Vector([3,2,1])
		self.vec2 = Vector([1,2,3])
Exemple #2
0
class VectorUnitTest(unittest.TestCase) :
	'''
	vector module testing
	'''
	
	def setUp(self):
		'''
		crete some basic vectors to test with 
		'''
		self.vec1 = Vector([3,2,1])
		self.vec2 = Vector([1,2,3])
		
	def test_create(self):
		'''
		create an empty vector
		'''
		testVector = Vector()
		self.assertEqual(testVector,Vector([0,0,0]))
	
	def test_sum(self):
		'''
		sum 2 vectors
		'''	
		result = self.vec1 + self.vec2
		self.assertEqual(result,Vector([4,4,4]))
		
	def test_sub(self):
		'''
		subtract 2 vectors
		'''	
		result = self.vec2-self.vec2
		self.assertEqual(result,Vector([0,0,0]))
		
	def test_multFloat(self):
		'''
		multiply vector and float
		'''
		result = self.vec2*10.0
		self.assertEqual(result,Vector([10.0, 20.0, 30.0]))
		
	def test_mulInt(self):
		'''
		multiply vector and int
		'''
		result = self.vec2*10
		self.assertEqual(result,Vector([10.0, 20.0, 30.0]))		
				
	def test_divFloat(self):
		'''
		divide with float
		'''
		result = self.vec2/2.0
		self.assertEqual(result,Vector([0.5, 1.0, 1.5]))		

	def test_divInt(self):
		'''
		divide with int
		'''
		result = self.vec2/2
		self.assertEqual(result,Vector([0.5, 1.0, 1.5]))	
		
	def test_mag(self):
		'''
		calc the magnitude of a vector
		'''
		result =self.vec2.mag()
		self.assertEqual(result,3.7416573867739413)		
		
	def test_dot(self):
		'''
		calculate the dot product of 2 vectors
		'''
		result = self.vec1.dot(self.vec2)
		self.assertEqual(result,10.0)
		
	def test_cross(self):
		'''
		calculate the cross product of 2 vectors
		'''
		result = self.vec2.cross(self.vec1)
		self.assertEqual(result,Vector([-4.0, 8.0, -4.0]))	
		
	def test_angleBetween(self):
		'''
		calculate the angle between 2 vectors
		the result angle is checked in degree
		'''		
		result = self.vec2.angleBetween(self.vec1).toDeg()
		self.assertEqual(result,44.415308597192976)
		
	def test_wPos(self):
		'''
		calculate the weighted position based on two vector
		'''
		result = self.vec2.wPos(self.vec1, 0.75)
		self.assertEqual(result,Vector([2.5,2.0,1.5]))
	
	def test_eq(self):
		'''
		compare 2 vectors
		'''
		self.assertTrue(self.vec1 == self.vec1)

	def test_eq_1(self):
		'''
		compare vector and list4
		'''
		self.assertTrue(self.vec1 == [3,2,1,1])
		
	def test_eq_2(self):
		'''
		compare vector and list3
		'''
		self.assertTrue(self.vec1 == [3,2,1])
		
	def test_eq_3(self):
		'''
		compare vector and list4
		'''
		self.assertFalse(self.vec1 == [3,2,1,0])	

	def test_eq_4(self):
		'''
		compare vector and list3
		'''
		self.assertFalse(self.vec1 == [3,2,0])


	def test_eq_5(self):
		'''
		compare vector and touple4
		'''
		self.assertFalse(self.vec1 == (3,2,1,0))	

	def test_eq_6(self):
		'''
		compare vector and touple3
		'''
		self.assertFalse(self.vec1 == (3,2,0))
					
	def test_ne(self):
		'''
		compare 2 different vectors
		'''
		self.assertTrue(self.vec1 != self.vec2)
		
	def test_normalize(self):
		'''
		normallize vector
		'''
		result = self.vec1.normalize()
		self.assertEqual(result,Vector([0.80178372573727319, 0.53452248382484879, 0.2672612419124244]))
						
	def test_mixMath_1(self):
		'''
		V.normalize()*V.mag()
		'''
		result = self.vec1.normalize()*self.vec2.mag()
		self.assertEqual(result,Vector([3.0, 2.0, 1.0]))
		
	def test_directAssigment(self):
		'''
		direct assigment for vector element
		'''
		V=Vector()
		V[0]=1
		V[1]=2
		V[2]=3
		self.assertEqual(V,Vector([1,2,3]))