using System; using System.Collections.Generic; using System.Linq; using System.Text; using Blacklight.Core.Cameras; using Azimuth; namespace Blacklight.Core.UnitTests.Cameras { public class MicroscopeCameraTests : UnitTestSharp.TestFixture { public class Ctor : UnitTestSharp.TestFixture { public void EmptyCtor() { var camera = new MicroscopeCamera(); } public void ViewportTests() { var viewport = new Viewport(800, 600); var camera = new MicroscopeCamera(viewport); } } public class ViewportTests : UnitTestSharp.TestFixture { Viewport viewport = new Viewport(800, 600); MicroscopeCamera camera; public override void TestSetup() { camera = new MicroscopeCamera(viewport); } } public class ZoomInAroundPointPSTests : UnitTestSharp.TestFixture { Viewport viewport = new Viewport(800, 600); MicroscopeCamera camera = new MicroscopeCamera(); public void PointOnScreenDoesntMove() { camera.Magnification *= 100; Vector point = new Vector(200, -300); Vector pointWSOld = point; pointWSOld = camera.ProjectionToCamera.TransformPoint(pointWSOld); pointWSOld = camera.CameraToWorld.TransformPoint(pointWSOld); camera.SetZoomAroundPointPS(-10, point); Vector pointWSNew = point; pointWSNew = camera.ProjectionToCamera.TransformPoint(pointWSNew); pointWSNew = camera.CameraToWorld.TransformPoint(pointWSNew); CheckEqual(pointWSOld, pointWSNew); } } } }