MouseMovementControllerTests.cs 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using PixiEditor.Models.Controllers;
  5. using PixiEditor.Models.Position;
  6. using Xunit;
  7. namespace PixiEditorTests.ModelsTests.ControllersTests
  8. {
  9. public class MouseMovementControllerTests
  10. {
  11. [Fact]
  12. public void TestThatStartRecordingMouseMovChangesStartsRecordingAndInvokesEvent()
  13. {
  14. bool eventInvoked = false;
  15. MouseMovementController controller = new MouseMovementController();
  16. controller.StartedRecordingChanges += (sender, e) => eventInvoked = true;
  17. controller.StartRecordingMouseMovementChanges(false);
  18. Assert.True(controller.IsRecordingChanges);
  19. Assert.True(eventInvoked);
  20. Assert.False(controller.ClickedOnCanvas);
  21. }
  22. [Fact]
  23. public void TestThatRecordMouseMovementChangeRecordsMouseMovementChange()
  24. {
  25. MouseMovementController controller = new MouseMovementController();
  26. controller.StartRecordingMouseMovementChanges(false);
  27. controller.RecordMouseMovementChange(new Coordinates(5,5));
  28. Assert.NotEmpty(controller.LastMouseMoveCoordinates);
  29. Assert.Equal(new Coordinates(5,5),controller.LastMouseMoveCoordinates[0]);
  30. Assert.True(controller.IsRecordingChanges);
  31. }
  32. [Fact]
  33. public void TestThatMouseMovedRaisesEvent()
  34. {
  35. bool eventRaised = false;
  36. Coordinates position = new Coordinates(5,5);
  37. MouseMovementEventArgs args = new MouseMovementEventArgs(new Coordinates());
  38. MouseMovementController controller = new MouseMovementController();
  39. controller.MousePositionChanged += (s, e) =>
  40. {
  41. eventRaised = true;
  42. args = e;
  43. };
  44. controller.MouseMoved(position);
  45. Assert.True(eventRaised);
  46. Assert.Equal(position, args.NewPosition);
  47. }
  48. [Fact]
  49. public void TestStopRecordingChangesStopsRecording()
  50. {
  51. MouseMovementController controller = new MouseMovementController();
  52. controller.StartRecordingMouseMovementChanges(true);
  53. controller.StopRecordingMouseMovementChanges();
  54. Assert.False(controller.IsRecordingChanges);
  55. Assert.False(controller.ClickedOnCanvas);
  56. }
  57. [Fact]
  58. public void TestThatRecordChangesNotRecords()
  59. {
  60. MouseMovementController controller = new MouseMovementController();
  61. controller.RecordMouseMovementChange(new Coordinates(5,10));
  62. Assert.False(controller.IsRecordingChanges);
  63. Assert.Empty(controller.LastMouseMoveCoordinates);
  64. }
  65. }
  66. }