Merge remote-tracking branch 'origin/ConnectPro_v1.6' into ConnectPro_v1.7

This commit is contained in:
Chris Cameron
2020-09-03 11:58:28 -04:00

View File

@@ -2,7 +2,6 @@
using ICD.Common.Properties;
using NUnit.Framework;
using ICD.Common.Utils.Collections;
using ICD.Common.Utils.EventArguments;
namespace ICD.Common.Utils.Tests.Collections
{
@@ -12,12 +11,14 @@ namespace ICD.Common.Utils.Tests.Collections
[Test, UsedImplicitly]
public void MaxSizeTest()
{
int unused;
ScrollQueue<int> test = new ScrollQueue<int>(5);
test.Enqueue(0);
test.Enqueue(1);
test.Enqueue(2);
test.Enqueue(3);
test.Enqueue(4);
test.Enqueue(0, out unused);
test.Enqueue(1, out unused);
test.Enqueue(2, out unused);
test.Enqueue(3, out unused);
test.Enqueue(4, out unused);
Assert.AreEqual(5, test.Count);
@@ -26,7 +27,7 @@ namespace ICD.Common.Utils.Tests.Collections
Assert.AreEqual(3, test.Count);
Assert.AreEqual(2, test.Peek());
test.Enqueue(0);
test.Enqueue(0, out unused);
Assert.AreEqual(3, test.Count);
Assert.AreEqual(3, test.Peek());
@@ -35,8 +36,10 @@ namespace ICD.Common.Utils.Tests.Collections
[Test, UsedImplicitly]
public void ClearTest()
{
int unused;
ScrollQueue<int> test = new ScrollQueue<int>(5);
test.Enqueue(0);
test.Enqueue(0, out unused);
test.Clear();
Assert.AreEqual(0, test.Count);
@@ -45,9 +48,11 @@ namespace ICD.Common.Utils.Tests.Collections
[Test, UsedImplicitly]
public void EnqueueTest()
{
int unused;
ScrollQueue<int> test = new ScrollQueue<int>(5);
test.Enqueue(0);
test.Enqueue(1);
test.Enqueue(0, out unused);
test.Enqueue(1, out unused);
Assert.AreEqual(2, test.Count);
@@ -60,9 +65,11 @@ namespace ICD.Common.Utils.Tests.Collections
[Test, UsedImplicitly]
public void DequeueTest()
{
int unused;
ScrollQueue<int> test = new ScrollQueue<int>(5);
test.Enqueue(0);
test.Enqueue(1);
test.Enqueue(0, out unused);
test.Enqueue(1, out unused);
Assert.AreEqual(0, test.Dequeue());
Assert.AreEqual(1, test.Count);
@@ -71,49 +78,13 @@ namespace ICD.Common.Utils.Tests.Collections
[Test, UsedImplicitly]
public void PeekTest()
{
int unused;
ScrollQueue<int> test = new ScrollQueue<int>(5);
test.Enqueue(0);
test.Enqueue(1);
test.Enqueue(0, out unused);
test.Enqueue(1, out unused);
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");
}
}
}