using System; namespace PepperDash.Essentials.Core.Tests.Abstractions { /// /// Abstraction for queue operations to enable testing /// /// Type of items in the queue public interface IQueue { /// /// Number of items in the queue /// int Count { get; } /// /// Adds an item to the queue /// /// Item to add void Enqueue(T item); /// /// Removes and returns the next item from the queue /// /// The next item, or default(T) if queue is empty T Dequeue(); } }