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++);
                }
            }
        }
Example #2
0
        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++);
                }
            }
        }
Example #3
0
		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;
			}
		}
Example #4
0
		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);
		}