class CameraTest(unittest.TestCase): def setUp(self): self.camera = Camera(glm.vec3(0, 0, 0)) self.camera.speed = 2 self.camera.sensitivity = 2 self.projection = helper.getProjection() def testMoveTop(self): self.camera.moveTop(1) self.camera.updateVectors() expectedPos = self.camera.direction * 2 self.assertEqual(expectedPos, self.camera.position) def testMoveBottom(self): self.camera.moveBottom(1) self.camera.updateVectors() expectedPos = -self.camera.direction * 2 self.assertEqual(expectedPos, self.camera.position) def testMoveleft(self): self.camera.moveLeft(1) self.camera.updateVectors() expectedPos = -self.camera.right * 2 self.assertEqual(expectedPos, self.camera.position) def testMoveRight(self): self.camera.moveRight(1) self.camera.updateVectors() expectedPos = self.camera.right * 2 self.assertEqual(expectedPos, self.camera.position) def testRotateX(self): self.camera.rotate(3, 0) self.camera.updateVectors() self.assertEqual(6, self.camera.yaw) def testRotateY(self): self.camera.rotate(0, 3) self.camera.updateVectors() self.assertEqual(6, self.camera.pitch) self.camera.rotate(0, 100) self.camera.updateVectors() self.assertEqual(89, self.camera.pitch) self.camera.rotate(0, -100) self.camera.updateVectors() self.assertEqual(-89, self.camera.pitch)