mirror of
https://github.com/azaion/annotations.git
synced 2026-04-22 21:56:31 +00:00
d92da6afa4
notifying client of AI model conversion
57 lines
1.5 KiB
C#
57 lines
1.5 KiB
C#
using Azaion.Common.Extensions;
|
|
using FluentAssertions;
|
|
using Xunit;
|
|
|
|
namespace Azaion.Annotator.Test;
|
|
|
|
public class ThrottleTest
|
|
{
|
|
private readonly Guid _testTaskId = Guid.NewGuid();
|
|
|
|
[Fact]
|
|
public async Task TestScheduleAfterCooldown()
|
|
{
|
|
var calls = new List<DateTime>();
|
|
|
|
Console.WriteLine($"Start time: {DateTime.Now}");
|
|
for (int i = 0; i < 10; i++)
|
|
{
|
|
ThrottleExt.Throttle(() =>
|
|
{
|
|
calls.Add(DateTime.Now);
|
|
return Task.CompletedTask;
|
|
}, _testTaskId, TimeSpan.FromSeconds(1), scheduleCallAfterCooldown: true);
|
|
}
|
|
|
|
await Task.Delay(TimeSpan.FromSeconds(2));
|
|
Console.WriteLine(string.Join(',', calls));
|
|
|
|
calls.Count.Should().Be(2);
|
|
}
|
|
|
|
[Fact]
|
|
public async Task TestScheduleAfterCooldown2()
|
|
{
|
|
var calls = new List<DateTime>();
|
|
|
|
Console.WriteLine($"Start time: {DateTime.Now}");
|
|
ThrottleExt.Throttle(() =>
|
|
{
|
|
calls.Add(DateTime.Now);
|
|
return Task.CompletedTask;
|
|
}, _testTaskId, TimeSpan.FromSeconds(1), scheduleCallAfterCooldown: true);
|
|
await Task.Delay(TimeSpan.FromSeconds(2));
|
|
|
|
ThrottleExt.Throttle(() =>
|
|
{
|
|
calls.Add(DateTime.Now);
|
|
return Task.CompletedTask;
|
|
}, _testTaskId, TimeSpan.FromSeconds(1), scheduleCallAfterCooldown: true);
|
|
|
|
|
|
await Task.Delay(TimeSpan.FromSeconds(2));
|
|
Console.WriteLine(string.Join(',', calls));
|
|
|
|
calls.Count.Should().Be(2);
|
|
}
|
|
} |