⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uihelper.cs

📁 C#编写的网络爬虫程序 效率很高 很好用!
💻 CS
字号:
#region Copyright (c) 2002-2003, James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole, Philip A. Craig/************************************************************************************'' Copyright  2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole' Copyright  2000-2002 Philip A. Craig'' This software is provided 'as-is', without any express or implied warranty. In no ' event will the authors be held liable for any damages arising from the use of this ' software.' ' Permission is granted to anyone to use this software for any purpose, including ' commercial applications, and to alter it and redistribute it freely, subject to the ' following restrictions:'' 1. The origin of this software must not be misrepresented; you must not claim that ' you wrote the original software. If you use this software in a product, an ' acknowledgment (see the following) in the product documentation is required.'' Portions Copyright  2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole' or Copyright  2000-2002 Philip A. Craig'' 2. Altered source versions must be plainly marked as such, and must not be ' misrepresented as being the original software.'' 3. This notice may not be removed or altered from any source distribution.''***********************************************************************************/#endregionnamespace NUnit.Util
{
	using System;
	using NUnit.Core;

	/// <summary>
	/// Summary description for UIHelper.
	/// </summary>
	public class UIHelper
	{
		private static bool AreNodesTheSame(Test testOne, Test testTwo)
		{
			if(testOne==null && testTwo!=null) return false;
			if(testTwo==null && testOne!=null) return false;
			if(testOne.GetType().FullName != testTwo.GetType().FullName) return false;
			if(testOne.ShouldRun ^ testTwo.ShouldRun) return false;
			return testOne.FullName.Equals(testTwo.FullName);
		}

		public static bool CompareTree(Test rootTestOriginal, Test rootTestNew)
		{
			if(!AreNodesTheSame(rootTestOriginal,rootTestNew)) return false;
			if((rootTestOriginal is TestSuite) && (rootTestNew is TestSuite))
			{
				TestSuite originalSuite = (TestSuite)rootTestOriginal;
				TestSuite newSuite = (TestSuite)rootTestNew;
				int originalCount = originalSuite.Tests.Count;
				int newCount = newSuite.Tests.Count;
				if(originalCount!=newCount)
				{
					return false;
				}
				for(int i=0; i<originalSuite.Tests.Count;i++)
				{
					if(!CompareTree((Test)originalSuite.Tests[i],(Test)newSuite.Tests[i])) return false;
				}
			}
			return true;
		}

		private static bool AreNodesTheSame( UITestNode testOne, UITestNode testTwo )
		{
			if( testOne == null && testTwo != null ) return false;
			if( testTwo == null && testOne != null ) return false;
			if( testOne.IsSuite != testTwo.IsSuite ) return false;
			if( testOne.ShouldRun != testTwo.ShouldRun ) return false;

			return testOne.FullName.Equals(testTwo.FullName);
		}

		public static bool CompareTree( UITestNode rootTestOriginal, UITestNode rootTestNew )
		{
			if( !AreNodesTheSame( rootTestOriginal, rootTestNew ) ) 
				return false;

			if( rootTestOriginal.IsSuite && rootTestNew.IsSuite )
			{
				if( rootTestOriginal.Tests.Count != rootTestNew.Tests.Count )
					return false;

				for(int i=0; i< rootTestOriginal.Tests.Count; i++)
					if( !CompareTree( (UITestNode)rootTestOriginal.Tests[i], (UITestNode)rootTestNew.Tests[i] ) ) 
						return false;
			}

			return true;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -