using FluentAssertions; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace NitroxModel.DataStructures { [TestClass] public class ThreadSafeQueueTest { private ThreadSafeQueue queue; [TestInitialize] public void Setup() { queue = new ThreadSafeQueue(); for (int i = 0; i < 10; i++) { queue.Enqueue($"test {i}"); } } [TestMethod] public void Peek() { queue.Peek().Should().Be("test 0"); } [TestMethod] public void Enqueue() { queue.Enqueue("derp"); queue.Count.Should().Be(11); } [TestMethod] public void Dequeue() { queue.Dequeue().Should().Be("test 0"); queue.Count.Should().Be(9); queue.Should().NotContain("test 0"); } [TestMethod] public void Clear() { queue.Clear(); queue.Count.Should().Be(0); } [TestMethod] public void Contains() { queue.Contains("test 5").Should().BeTrue(); queue.Contains("test 11").Should().BeFalse(); } } }