DriverTests.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using UnitTests;
  2. using Xunit.Abstractions;
  3. namespace UnitTests_Parallelizable.DriverTests;
  4. public class DriverTests : FakeDriverBase
  5. {
  6. [Theory]
  7. [InlineData (null, true)]
  8. [InlineData ("", true)]
  9. [InlineData ("a", true)]
  10. [InlineData ("👩‍❤️‍💋‍👨", false)]
  11. public void IsValidLocation (string text, bool positive)
  12. {
  13. IDriver driver = CreateFakeDriver ();
  14. driver.SetScreenSize (10, 10);
  15. // positive
  16. Assert.True (driver.IsValidLocation (text, 0, 0));
  17. Assert.True (driver.IsValidLocation (text, 1, 1));
  18. Assert.Equal (positive, driver.IsValidLocation (text, driver.Cols - 1, driver.Rows - 1));
  19. // negative
  20. Assert.False (driver.IsValidLocation (text, -1, 0));
  21. Assert.False (driver.IsValidLocation (text, 0, -1));
  22. Assert.False (driver.IsValidLocation (text, -1, -1));
  23. Assert.False (driver.IsValidLocation (text, driver.Cols, driver.Rows - 1));
  24. Assert.False (driver.IsValidLocation (text, driver.Cols, driver.Rows - 1));
  25. Assert.False (driver.IsValidLocation (text, driver.Cols, driver.Rows));
  26. // Define a clip rectangle
  27. driver.Clip = new (new Rectangle (5, 5, 5, 5));
  28. // positive
  29. Assert.True (driver.IsValidLocation (text, 5, 5));
  30. Assert.Equal (positive, driver.IsValidLocation (text, 9, 9));
  31. // negative
  32. Assert.False (driver.IsValidLocation (text, 4, 5));
  33. Assert.False (driver.IsValidLocation (text, 5, 4));
  34. Assert.False (driver.IsValidLocation (text, 10, 9));
  35. Assert.False (driver.IsValidLocation (text, 9, 10));
  36. Assert.False (driver.IsValidLocation (text, -1, 0));
  37. Assert.False (driver.IsValidLocation (text, 0, -1));
  38. Assert.False (driver.IsValidLocation (text, -1, -1));
  39. Assert.False (driver.IsValidLocation (text, driver.Cols, driver.Rows - 1));
  40. Assert.False (driver.IsValidLocation (text, driver.Cols, driver.Rows - 1));
  41. Assert.False (driver.IsValidLocation (text, driver.Cols, driver.Rows));
  42. driver.End ();
  43. }
  44. }