void RunTest(string testsFileName, string listFileName) { var queue = new CacheItemPriorityQueue(); var cacheItems = new List <TestCacheItem> (); string listPath = Path.Combine(dataDir, listFileName); string testsPath = Path.Combine(dataDir, testsFileName); string line; using (var sr = new StreamReader(listPath, Encoding.UTF8)) { while ((line = sr.ReadLine()) != null) { if (line [0] == '#') { continue; } cacheItems.Add(new TestCacheItem(line)); } } using (var sr = new StreamReader(testsPath, Encoding.UTF8)) { int i = 0; while ((line = sr.ReadLine()) != null) { if (line [0] == '#') { continue; } RunItem(new CacheItemPriorityQueueTestItem(line), queue, cacheItems, i++); } } }
void RunTest(string testsFileName, string listFileName) { var queue = new CacheItemPriorityQueue(); var cacheItems = new List <TestCacheItem> (); string listPath = TestResourceHelper.GetFullPathOfResource("Test/System.Web.Caching/CacheItemPriorityQueueTestData/" + listFileName); string testsPath = TestResourceHelper.GetFullPathOfResource("Test/System.Web.Caching/CacheItemPriorityQueueTestData/" + testsFileName); string line; using (var sr = new StreamReader(listPath, Encoding.UTF8)) { while ((line = sr.ReadLine()) != null) { if (line [0] == '#') { continue; } cacheItems.Add(new TestCacheItem(line)); } } using (var sr = new StreamReader(testsPath, Encoding.UTF8)) { int i = 0; while ((line = sr.ReadLine()) != null) { if (line [0] == '#') { continue; } RunItem(new CacheItemPriorityQueueTestItem(line), queue, cacheItems, i++); } } }
void RunItem (CacheItemPriorityQueueTestItem item, CacheItemPriorityQueue queue, List <TestCacheItem> list, int testNum) { TestCacheItem ci; string messagePrefix = String.Format ("{0}-{1:00000}-{2:00000}-", item.Operation, item.OperationCount, testNum); switch (item.Operation) { case QueueOperation.Enqueue: queue.Enqueue (list [item.ListIndex]); Assert.AreEqual (item.QueueCount, queue.Count, messagePrefix + "1"); Assert.AreEqual (item.Guid, ((TestCacheItem)queue.Peek ()).Guid.ToString (), messagePrefix + "2"); break; case QueueOperation.Dequeue: ci = (TestCacheItem)queue.Dequeue (); if (item.IsNull) Assert.IsNull (ci, messagePrefix + "1"); else { Assert.IsNotNull (ci, messagePrefix + "2"); Assert.AreEqual (item.Guid, ci.Guid.ToString (), messagePrefix + "3"); Assert.AreEqual (item.IsDisabled, ci.Disabled, messagePrefix + "4"); } Assert.AreEqual (item.QueueCount, queue.Count, messagePrefix + "5"); break; case QueueOperation.Disable: ci = list [item.ListIndex]; if (item.IsNull) Assert.IsNull (ci, messagePrefix + "1"); else { Assert.IsNotNull (ci, messagePrefix + "2"); Assert.AreEqual (item.Guid, ci.Guid.ToString (), messagePrefix + "3"); Assert.AreEqual (item.IsDisabled, ci.Disabled, messagePrefix + "4"); ci.Disabled = item.Disable; } break; case QueueOperation.Peek: ci = (TestCacheItem)queue.Peek (); if (item.IsNull) Assert.IsNull (ci, messagePrefix + "1"); else { Assert.IsNotNull (ci, messagePrefix + "2"); Assert.AreEqual (item.Guid, ci.Guid.ToString (), messagePrefix + "3"); Assert.AreEqual (item.IsDisabled, ci.Disabled, messagePrefix + "4"); } Assert.AreEqual (item.QueueCount, queue.Count, messagePrefix + "5"); break; case QueueOperation.QueueSize: Assert.AreEqual (item.QueueCount, queue.Count, "Queue size after sequence"); break; default: Assert.Fail ("Unknown QueueOperation: {0}", item.Operation); break; } }
void RunTest (string[] tests, object[] list) { var queue = new CacheItemPriorityQueue (); var cacheItems = new List <TestCacheItem> (); int index = 0; while (index < list.Length) cacheItems.Add (new TestCacheItem (ref index, list)); for (int i = 0; i < tests.Length; i++) RunItem (new CacheItemPriorityQueueTestItem (tests [i]), queue, cacheItems, i); }