IsometricCameraTests ClassDelta Engine Documentation
Inheritance Hierarchy

System Object
  DeltaEngine.Platforms TestWithMocksOrVisually
    DeltaEngine.Rendering3D.Tests.Cameras IsometricCameraTests

Namespace: DeltaEngine.Rendering3D.Tests.Cameras
Assembly: DeltaEngine.Rendering3D.Tests (in DeltaEngine.Rendering3D.Tests.dll) Version: 1.1.1.0 (1.1.1)
Syntax

public class IsometricCameraTests : TestWithMocksOrVisually

The IsometricCameraTests type exposes the following members.

Constructors

  NameDescription
Public methodIsometricCameraTests
Initializes a new instance of the IsometricCameraTests class
Top
Methods

  NameDescription
Protected methodAdvanceTimeAndUpdateEntities (Inherited from TestWithMocksOrVisually.)
Public methodCreateWithLookDirection
Public methodInitializeResolver (Inherited from TestWithMocksOrVisually.)
Public methodMoveDown
Public methodMoveIsometricCamera
Public methodMoveLeft
Public methodMoveRight
Public methodMoveUp
Protected methodRegisterMock T  (Inherited from TestWithMocksOrVisually.)
Protected methodResolve T  (Inherited from TestWithMocksOrVisually.)
Protected methodRunAfterFirstFrame (Inherited from TestWithMocksOrVisually.)
Public methodRunTestAndDisposeResolverWhenDone (Inherited from TestWithMocksOrVisually.)
Public methodSettingPositionMovesTarget
Public methodSettingTargetMovesPosition
Public methodSetUp
Public methodZoom
Top
Properties

  NameDescription
Protected propertyIsMockResolver (Inherited from TestWithMocksOrVisually.)
Top
Examples

[Test]
public void MoveIsometricCamera()
{
    RegisterCommand(Key.J, () => camera.MoveLeft(MoveDistance));
    RegisterCommand(Key.L, () => camera.MoveRight(MoveDistance));
    RegisterCommand(Key.I, () => camera.MoveUp(MoveDistance));
    RegisterCommand(Key.K, () => camera.MoveDown(MoveDistance));
    RegisterCommand(Key.U, () => camera.Zoom(ZoomAmount));
    RegisterCommand(Key.O, () => camera.Zoom(1 / ZoomAmount));
}
[Test, CloseAfterFirstFrame]
public void SettingPositionMovesTarget()
{
    camera.Position = new Vector3D(10.0f, 10.0f, 10.0f);
    Assert.AreEqual(new Vector3D(10.0f, 11.0f, 10.0f), camera.Target);
}
[Test, CloseAfterFirstFrame]
public void SettingTargetMovesPosition()
{
    camera.Target = new Vector3D(10.0f, 10.0f, 10.0f);
    Assert.AreEqual(new Vector3D(10.0f, 9.0f, 10.0f), camera.Position);
}
[Test, CloseAfterFirstFrame]
public void MoveLeft()
{
    camera.MoveLeft(1.0f);
    Assert.AreEqual(new Vector3D(-1.0f, -1.0f, 0.0f), camera.Position);
}
[Test, CloseAfterFirstFrame]
public void MoveRight()
{
    camera.MoveRight(1.0f);
    Assert.AreEqual(new Vector3D(1.0f, -1.0f, 0.0f), camera.Position);
}
[Test, CloseAfterFirstFrame]
public void MoveUp()
{
    camera.MoveUp(1.0f);
    Assert.AreEqual(new Vector3D(0.0f, -1.0f, 1.0f), camera.Position);
}
[Test, CloseAfterFirstFrame]
public void MoveDown()
{
    camera.MoveDown(1.0f);
    Assert.AreEqual(new Vector3D(0.0f, -1.0f, -1.0f), camera.Position);
}
[Test, CloseAfterFirstFrame]
public void Zoom()
{
    camera.Zoom(4.0f);
    Assert.AreEqual(0.25f, camera.ZoomScale);
}
[Test, CloseAfterFirstFrame]
public void CreateWithLookDirection()
{
    var lookDirection = Vector3D.UnitY;
    camera = new IsometricCamera(Resolve<Device>(), Resolve<Window>(), lookDirection);
    Assert.AreEqual(-lookDirection, camera.Position);
    Assert.AreEqual(Vector3D.Zero, camera.Target);
}
See Also