120 lines
4.0 KiB
C#
120 lines
4.0 KiB
C#
![]() |
using System;
|
||
|
using NUnit.Framework;
|
||
|
|
||
|
namespace ClassLibrary.Test
|
||
|
{
|
||
|
public class Tests
|
||
|
{
|
||
|
[TestCaseSource(nameof(TestData))]
|
||
|
public void DataAssertTest(
|
||
|
TimeSpan[] startTimes,
|
||
|
int[] durations,
|
||
|
TimeSpan beginWorkingTime,
|
||
|
TimeSpan endWorkingTime,
|
||
|
int consultationTime,
|
||
|
string[] expected)
|
||
|
{
|
||
|
var result = Calculations.AvailablePeriods(startTimes, durations, beginWorkingTime, endWorkingTime, consultationTime);
|
||
|
|
||
|
Assert.AreEqual(expected.Length, result.Length);
|
||
|
for (int i = 0; i < expected.Length; i++)
|
||
|
{
|
||
|
Assert.AreEqual(expected[i], result[i]);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public static object[] TestData = new object[]
|
||
|
{
|
||
|
new object[]
|
||
|
{
|
||
|
new TimeSpan[] { TimeSpan.FromHours(10) },
|
||
|
new int[] { 60 },
|
||
|
TimeSpan.FromHours(9),
|
||
|
TimeSpan.FromHours(12),
|
||
|
30,
|
||
|
new string[] { "09:00-09:30", "09:30-10:00", "11:00-11:30", "11:30-12:00" }
|
||
|
},
|
||
|
new object[]
|
||
|
{
|
||
|
new TimeSpan[] { },
|
||
|
new int[] { },
|
||
|
TimeSpan.FromHours(8),
|
||
|
TimeSpan.FromHours(9),
|
||
|
20,
|
||
|
new string[] { "08:00-08:20", "08:20-08:40", "08:40-09:00" }
|
||
|
},
|
||
|
new object[]
|
||
|
{
|
||
|
new TimeSpan[] { TimeSpan.FromHours(9) },
|
||
|
new int[] { 480 },
|
||
|
TimeSpan.FromHours(9),
|
||
|
TimeSpan.FromHours(17),
|
||
|
30,
|
||
|
new string[] { }
|
||
|
},
|
||
|
new object[]
|
||
|
{
|
||
|
new TimeSpan[] { TimeSpan.FromHours(10), TimeSpan.FromHours(12) },
|
||
|
new int[] { 60, 60 },
|
||
|
TimeSpan.FromHours(9),
|
||
|
TimeSpan.FromHours(14),
|
||
|
30,
|
||
|
new string[] { "09:00-09:30", "09:30-10:00", "11:00-11:30", "11:30-12:00", "13:00-13:30", "13:30-14:00" }
|
||
|
},
|
||
|
new object[]
|
||
|
{
|
||
|
new TimeSpan[] { },
|
||
|
new int[] { },
|
||
|
TimeSpan.FromHours(9),
|
||
|
TimeSpan.FromHours(10),
|
||
|
15,
|
||
|
new string[] { "09:00-09:15", "09:15-09:30", "09:30-09:45", "09:45-10:00" }
|
||
|
},
|
||
|
new object[]
|
||
|
{
|
||
|
new TimeSpan[] { TimeSpan.FromHours(10) },
|
||
|
new int[] { 60 },
|
||
|
TimeSpan.FromHours(15),
|
||
|
TimeSpan.FromHours(17),
|
||
|
30,
|
||
|
new string[] { "15:00-15:30", "15:30-16:00", "16:00-16:30", "16:30-17:00" }
|
||
|
},
|
||
|
new object[]
|
||
|
{
|
||
|
new TimeSpan[] { },
|
||
|
new int[] { },
|
||
|
TimeSpan.FromHours(9),
|
||
|
TimeSpan.FromHours(12),
|
||
|
45,
|
||
|
new string[] { "09:00-09:45", "09:45-10:30", "10:30-11:15", "11:15-12:00" }
|
||
|
},
|
||
|
new object[]
|
||
|
{
|
||
|
new TimeSpan[] { },
|
||
|
new int[] { },
|
||
|
TimeSpan.FromHours(8),
|
||
|
TimeSpan.FromHours(11),
|
||
|
20,
|
||
|
new string[] { "08:00-08:20", "08:20-08:40", "08:40-09:00", "09:00-09:20", "09:20-09:40", "09:40-10:00", "10:00-10:20", "10:20-10:40", "10:40-11:00" }
|
||
|
},
|
||
|
new object[]
|
||
|
{
|
||
|
new TimeSpan[] { },
|
||
|
new int[] { },
|
||
|
TimeSpan.FromHours(9),
|
||
|
TimeSpan.FromHours(10),
|
||
|
30,
|
||
|
new string[] { "09:00-09:30", "09:30-10:00" }
|
||
|
},
|
||
|
new object[]
|
||
|
{
|
||
|
new TimeSpan[] { TimeSpan.FromHours(10) },
|
||
|
new int[] { 60 },
|
||
|
TimeSpan.FromHours(9),
|
||
|
TimeSpan.FromHours(12),
|
||
|
20,
|
||
|
new string[] { "09:00-09:20", "09:20-09:40", "09:40-10:00", "11:00-11:20", "11:20-11:40", "11:40-12:00" }
|
||
|
}
|
||
|
};
|
||
|
}
|
||
|
}
|