demo040225_version2/ClassLibrary.Test/UnitTest1.cs
2025-05-06 10:41:15 +03:00

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" }
}
};
}
}