public InterfaceControlViewModel(ProblemViewModel problemViewModel, CameraViewModel cameraViewModel) { _problemViewModel = problemViewModel; _cameraViewModel = cameraViewModel; ElementManagementViewModel = new ElementManagementViewModel(_problemViewModel); ForceManagementViewModel = new ForceManagementViewModel(_problemViewModel); NodeManagementViewModel = new NodeManagementViewModel(_problemViewModel); MaterialManagementViewModel = new MaterialManagementViewModel(_problemViewModel); KeyboardCameraControlViewModel = new KeyboardCameraControlViewModel(_cameraViewModel); MouseCameraControlViewModel = new MouseCameraControlViewModel(_cameraViewModel); problemViewModel.PropertyChanged += ProblemViewModel_PropertyChanged; Application.Current.Dispatcher.InvokeAsync(UpdateCamera); }
public void UpdateCamera_NoPressedKeys_ExpectNoMovementOrRotation() { //Arrange var cameraViewModel = new FakeCameraViewModel(); var testSubject = new KeyboardCameraControlViewModel(cameraViewModel); //Act testSubject.UpdateCamera(); //Assert Assert.That(cameraViewModel.LookAtPoint, Is.EqualTo(new Point3D())); Assert.That(cameraViewModel.MovePoint, Is.EqualTo(new Point3D())); Assert.That(cameraViewModel.MoveVector, Is.EqualTo(new Vector3D())); Assert.That(cameraViewModel.RotationX, Is.EqualTo(0)); Assert.That(cameraViewModel.RotationY, Is.EqualTo(0)); Assert.That(cameraViewModel.RotationZ, Is.EqualTo(0)); }
public void UpdateCamera_RotationKeyPressedAndSpecialKeyPressed_ExpectNoMovementAndRotation(Key pressedKey) { //Arrange var cameraViewModel = new FakeCameraViewModel(); var testSubject = new KeyboardCameraControlViewModel(cameraViewModel); testSubject.ReactToKeyboardKeyDown(pressedKey); testSubject.ReactToKeyboardKeyDown(Key.LeftShift); //Act testSubject.UpdateCamera(); //Assert Assert.That(cameraViewModel.LookAtPoint, Is.EqualTo(new Point3D())); Assert.That(cameraViewModel.MovePoint, Is.EqualTo(new Point3D())); Assert.That(cameraViewModel.MoveVector, Is.EqualTo(new Vector3D())); Assert.That(cameraViewModel.Rotation, Is.Not.EqualTo(0)); }