2
0

DatePickerTests.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using System.Globalization;
  2. using UnitTests;
  3. namespace UnitTests_Parallelizable.ViewsTests;
  4. /// <summary>
  5. /// Pure unit tests for <see cref="DatePicker"/> that don't require Application.Driver or View context.
  6. /// These tests can run in parallel without interference.
  7. /// </summary>
  8. public class DatePickerTests : FakeDriverBase
  9. {
  10. [Fact]
  11. public void DatePicker_ChangingCultureChangesFormat ()
  12. {
  13. var date = new DateTime (2000, 7, 23);
  14. var datePicker = new DatePicker (date);
  15. datePicker.Culture = CultureInfo.GetCultureInfo ("en-GB");
  16. Assert.Equal ("23/07/2000", datePicker.Text);
  17. datePicker.Culture = CultureInfo.GetCultureInfo ("pl-PL");
  18. Assert.Equal ("23.07.2000", datePicker.Text);
  19. // Deafult date format for en-US is M/d/yyyy but we are using StandardizeDateFormat method
  20. // to convert it to the format that has 2 digits for month and day.
  21. datePicker.Culture = CultureInfo.GetCultureInfo ("en-US");
  22. Assert.Equal ("07/23/2000", datePicker.Text);
  23. }
  24. [Fact]
  25. public void DatePicker_Default_Constructor_ShouldSetCurrenDate ()
  26. {
  27. var datePicker = new DatePicker ();
  28. Assert.Equal (DateTime.Now.Date.Day, datePicker.Date.Day);
  29. Assert.Equal (DateTime.Now.Date.Month, datePicker.Date.Month);
  30. Assert.Equal (DateTime.Now.Date.Year, datePicker.Date.Year);
  31. }
  32. [Fact]
  33. public void DatePicker_Constrctor_Now_ShouldSetCurrenDate ()
  34. {
  35. var datePicker = new DatePicker (DateTime.Now);
  36. Assert.Equal (DateTime.Now.Date.Day, datePicker.Date.Day);
  37. Assert.Equal (DateTime.Now.Date.Month, datePicker.Date.Month);
  38. Assert.Equal (DateTime.Now.Date.Year, datePicker.Date.Year);
  39. }
  40. [Fact]
  41. public void DatePicker_X_Y_Init ()
  42. {
  43. var datePicker = new DatePicker { Y = Pos.Center (), X = Pos.Center () };
  44. Assert.Equal (DateTime.Now.Date.Day, datePicker.Date.Day);
  45. Assert.Equal (DateTime.Now.Date.Month, datePicker.Date.Month);
  46. Assert.Equal (DateTime.Now.Date.Year, datePicker.Date.Year);
  47. }
  48. [Fact]
  49. public void DatePicker_SetDate_ShouldChangeText ()
  50. {
  51. var datePicker = new DatePicker { Culture = CultureInfo.GetCultureInfo ("en-GB") };
  52. var newDate = new DateTime (2024, 1, 15);
  53. string format = CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern;
  54. datePicker.Date = newDate;
  55. Assert.Equal (newDate.ToString (format), datePicker.Text);
  56. }
  57. }