RectangleToolTests.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Diagnostics.CodeAnalysis;
  4. using System.Text;
  5. using System.Windows;
  6. using PixiEditor;
  7. using PixiEditor.Models.Position;
  8. using PixiEditor.Models.Tools.Tools;
  9. using Xunit;
  10. namespace PixiEditorTests.ModelsTests.ToolsTests
  11. {
  12. public class RectangleToolTests
  13. {
  14. private bool _createdApp = false;
  15. [ExcludeFromCodeCoverage]
  16. public RectangleToolTests()
  17. {
  18. if (Application.Current == null && _createdApp == false)
  19. {
  20. var app = new App();
  21. app.InitializeComponent();
  22. }
  23. }
  24. [StaTheory]
  25. [InlineData(0,0, 2,2)]
  26. [InlineData(0,0, 9, 9)]
  27. [InlineData(5,5, 6, 6)]
  28. [InlineData(0,0, 15, 15)]
  29. public void TestThatCreateRectangleCalculatesCorrectOutlineWithOneThickness(int startX, int startY, int endX, int endY)
  30. {
  31. RectangleTool tool = new RectangleTool();
  32. var outline = tool.CreateRectangle(new Coordinates(startX, startY),
  33. new Coordinates(endX, endY), 1);
  34. int expectedBorderPoints = (endX - startX) * 2 + (endY - startX) * 2;
  35. Assert.Equal(expectedBorderPoints, outline.Length);
  36. }
  37. }
  38. }