mirror of
https://github.com/ICDSystems/ICD.Common.Utils.git
synced 2026-01-11 19:44:55 +00:00
feat: ScrollQueue - added OnItemTrimmed event
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
using ICD.Common.Properties;
|
||||
using NUnit.Framework;
|
||||
using ICD.Common.Utils.Collections;
|
||||
using ICD.Common.Utils.EventArguments;
|
||||
|
||||
namespace ICD.Common.Utils.Tests.Collections
|
||||
{
|
||||
@@ -76,5 +77,43 @@ namespace ICD.Common.Utils.Tests.Collections
|
||||
|
||||
Assert.AreEqual(0, test.Peek());
|
||||
}
|
||||
|
||||
[Test, UsedImplicitly]
|
||||
public void OnItemTrimmedTest()
|
||||
{
|
||||
ScrollQueue<int> test = new ScrollQueue<int>(3);
|
||||
|
||||
int? removedItem = null;
|
||||
|
||||
test.OnItemTrimmed += (sender, args) => removedItem = args.Data;
|
||||
|
||||
test.Enqueue(1);
|
||||
test.Enqueue(2);
|
||||
test.Enqueue(3);
|
||||
|
||||
Assert.IsNull(removedItem, "Raised Early");
|
||||
|
||||
test.Enqueue(4);
|
||||
|
||||
Assert.True(removedItem.HasValue, "Not Raised");
|
||||
if (removedItem.HasValue)
|
||||
Assert.AreEqual(1, removedItem.Value, "Incorrect Value");
|
||||
|
||||
removedItem = null;
|
||||
|
||||
test.Enqueue(5);
|
||||
|
||||
Assert.True(removedItem.HasValue, "Not Raised");
|
||||
if (removedItem.HasValue)
|
||||
Assert.AreEqual(2, removedItem.Value, "Incorrect Value");
|
||||
|
||||
removedItem = null;
|
||||
|
||||
test.MaxSize = 4;
|
||||
|
||||
test.Enqueue(6);
|
||||
|
||||
Assert.False(removedItem.HasValue, "Raised Early");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user