public void MoveNorth() { // start facing north, then move forwards. AzElCamera cam = new AzElCamera(); Vector3 eye = new Vector3(-4, 0, 0); cam.LookAt(eye, new Vector3()); Assert.AreEqual(0, cam.Azimuth); cam.MoveForwards(4); VectorAssertions.AreEqual(new Vector3(0, 0, 0), cam.Eye, 0.01); Assert.AreEqual(0, cam.Azimuth, 0.01); }
public void MoveDiagonal() { // start facing northeast. AzElCamera cam = new AzElCamera(); Vector3 eye = new Vector3(-4, 0, -4); cam.LookAt(eye, new Vector3(0, 0, 0)); Assert.AreEqual(Math.PI / 4, cam.Azimuth, 0.01); // Move forwards cam.MoveForwards(Math.Sqrt(32)); VectorAssertions.AreEqual(new Vector3(0, 0, 0), cam.Eye, 0.01, "Move Forwards failed"); Assert.AreEqual(Math.PI / 4, cam.Azimuth, 0.01); // Move sidways, left cam.MoveSideways(-Math.Sqrt(32)); VectorAssertions.AreEqual(new Vector3(4, 0, -4), cam.Eye, 0.01, "Move Sideways failed"); Assert.AreEqual(Math.PI / 4, cam.Azimuth, 0.01); }