UnitTest1.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using Lib;
  2. namespace LibTests
  3. {
  4. public class LibraryTesting
  5. {
  6. [Fact]
  7. public void GetPeriods_TimeFrom_Return7And21And2Periods()
  8. {
  9. TimeSpan[] startTimes = { TimeSpan.FromHours(9), TimeSpan.FromHours(10.5), TimeSpan.FromHours(12), new TimeSpan(15, 30, 0), new TimeSpan(17, 0, 0) };
  10. int[] durations = { 60, 60, 20, 10, 30 };
  11. var test = Calculations.AvailablePeriods(startTimes, durations, TimeSpan.FromHours(8), TimeSpan.FromHours(18), 40);
  12. Assert.Equal(7, test.Length);
  13. TimeSpan[] startTimes2 = { TimeSpan.FromHours(10), TimeSpan.FromHours(11), TimeSpan.FromHours(15), new TimeSpan(15, 30, 0), new TimeSpan(16, 50, 0) };
  14. int[] durations2 = { 60, 30, 10, 10, 40 };
  15. var test2 = Calculations.AvailablePeriods(startTimes2, durations2, TimeSpan.FromHours(8), TimeSpan.FromHours(18), 20);
  16. Assert.Equal(21, test2.Length);
  17. TimeSpan[] startTimes3 = { TimeSpan.FromHours(8), TimeSpan.FromHours(10), TimeSpan.FromHours(12), new TimeSpan(13, 30, 0), TimeSpan.FromHours(14),
  18. new TimeSpan(16, 50, 0), new TimeSpan(17, 20, 0) };
  19. int[] durations3 = { 60, 25, 15, 50, 40, 15, 30 };
  20. var test3 = Calculations.AvailablePeriods(startTimes3, durations3, TimeSpan.FromHours(8), TimeSpan.FromHours(18), 90);
  21. Assert.Equal(2, test3.Length);
  22. }
  23. [Fact]
  24. public void GetAvailablePeriods_NoBusyRanges_Return0Periods()
  25. {
  26. TimeSpan[] startTimes = { TimeSpan.FromHours(8) };
  27. int[] durations = { 60 };
  28. var test = Calculations.AvailablePeriods(startTimes, durations, TimeSpan.FromHours(8), TimeSpan.FromHours(9.5), 90);
  29. Assert.Empty(test);
  30. }
  31. }
  32. }