public void Test_ComprarerParam_ShouldCompareProperly() { var comparer = new StringComparerDescending(); var pq = new PriorityQueue <string>(comparer); int count = 100; var min = "zzzzzzzzzz"; for (int i = 0; i < count; i++) { var randomString = this.GetRandomString(10); pq.Enqueue(randomString); if (min.CompareTo(randomString) > 0) { min = randomString; } } for (int i = 0; i < count - 1; i++) { var dequeuedNumber = pq.Dequeue(); } var actual = pq.Dequeue().ToString(); Assert.AreEqual(min, actual, "Comparer param should work properly."); }
public static void Main(string[] args) { var comparerDesc = new StringComparerDescending(); var comparerAsc = new StringComparerAscending(); var priorityQueue = new PriorityQueue<string>(); priorityQueue.Enqueue("E"); Console.WriteLine(priorityQueue); priorityQueue.Enqueue("B"); Console.WriteLine(priorityQueue); priorityQueue.Enqueue("G"); Console.WriteLine(priorityQueue); priorityQueue.Enqueue("Z"); Console.WriteLine(priorityQueue); priorityQueue.Enqueue("M"); Console.WriteLine(priorityQueue); priorityQueue.Enqueue("D"); Console.WriteLine(priorityQueue); priorityQueue.Enqueue("A"); Console.WriteLine(priorityQueue); priorityQueue.Dequeue(); Console.WriteLine(priorityQueue); priorityQueue.Dequeue(); Console.WriteLine(priorityQueue); priorityQueue.Dequeue(); Console.WriteLine(priorityQueue); priorityQueue.Dequeue(); Console.WriteLine(priorityQueue); priorityQueue.Dequeue(); Console.WriteLine(priorityQueue); priorityQueue.Dequeue(); Console.WriteLine(priorityQueue); priorityQueue.Dequeue(); Console.WriteLine(priorityQueue); }
public void Test_ComprarerParam_ShouldCompareProperly() { var comparer = new StringComparerDescending(); var pq = new PriorityQueue<string>(comparer); int count = 100; var min = "zzzzzzzzzz"; for (int i = 0; i < count; i++) { var randomString = this.GetRandomString(10); pq.Enqueue(randomString); if (min.CompareTo(randomString) > 0) { min = randomString; } } for (int i = 0; i < count - 1; i++) { var dequeuedNumber = pq.Dequeue(); } var actual = pq.Dequeue().ToString(); Assert.AreEqual(min, actual, "Comparer param should work properly."); }