Files
annotations/Azaion.Test/IntervalTreeTest.cs
T
Alex Bezdieniezhnykh 5a592e9dbf rework to Azaion.Suite
2024-11-21 13:41:32 +02:00

32 lines
1000 B
C#

using FluentAssertions;
using Xunit;
using IntervalTree;
namespace Azaion.Annotator.Test;
public class IntervalTreeTest
{
[Theory]
[MemberData(nameof(IntervalTreeTestQueryTestData))]
public void IntervalTreeTestQuery(int second, string[] expected)
{
var mainTree = new IntervalTree<TimeSpan, string>
{
{ TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(3), "res01" },
{ TimeSpan.FromSeconds(2), TimeSpan.FromSeconds(4), "res02" },
{ TimeSpan.FromSeconds(4), TimeSpan.FromSeconds(7), "res04" },
{ TimeSpan.FromSeconds(5), TimeSpan.FromSeconds(8), "res05" },
};
var result = mainTree.Query(TimeSpan.FromSeconds(second)).ToArray();
result.Should().Equal(expected);
}
public static IEnumerable<object[]> IntervalTreeTestQueryTestData()
{
yield return [1, new[] {"res01"}];
yield return [5, new[] {"res04", "res05"}];
yield return [9, new string[] {}];
}
}