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

📄 utilstest.cs

📁 大名鼎鼎的mono是.NET平台的跨平台(支持linux
💻 CS
字号:
// UtilsTest.cs - NUnit Test Cases for Microsoft.VisualBasic.CompilerServices.Utils //// Boris Kirzner <borisk@mainsoft.com>//// // Copyright (c) 2002-2006 Mainsoft Corporation.// Copyright (C) 2004 Novell, Inc (http://www.novell.com)//// Permission is hereby granted, free of charge, to any person obtaining// a copy of this software and associated documentation files (the// "Software"), to deal in the Software without restriction, including// without limitation the rights to use, copy, modify, merge, publish,// distribute, sublicense, and/or sell copies of the Software, and to// permit persons to whom the Software is furnished to do so, subject to// the following conditions:// // The above copyright notice and this permission notice shall be// included in all copies or substantial portions of the Software.// // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.//using NUnit.Framework;using System;using System.IO;using Microsoft.VisualBasic;using Microsoft.VisualBasic.CompilerServices;namespace MonoTests.Microsoft_VisualBasic.CompilerServices{	[TestFixture]	public class UtilsTests 	{		public UtilsTests()		{		}		[SetUp]		public void GetReady() 		{		}		[TearDown]		public void Clean() 		{		}		[Test]		public void ReDimPreserve_SingleDimension() 		{			string[] a = new string[6];			a[1] = "a";			a[2] = "b";			a[3] = "c";			string[] b = (string[]) Microsoft.VisualBasic.CompilerServices.Utils.CopyArray((Array) a, new string[4]);			// Assert.AreEqual(b[0],null);			Assert.AreEqual(b[1],"a");			Assert.AreEqual(b[2],"b");			Assert.AreEqual(b[3],"c");		}		[Test]		public void ReDimPreserve_MultipleDimensions() 		{			int [,,,] source = new int [,,,] {{{{1, 2}, {3, 4}, {5, 6}}, {{7, 8}, {9, 10}, {11, 12}}}};			int [,,,] destination = new int [1, 2, 3, 4];						Utils.CopyArray (source, destination);			Assert.AreEqual (destination [0, 0, 0, 0], 1, "#01");			Assert.AreEqual (destination [0, 0, 0, 1], 2, "#02");			Assert.AreEqual (destination [0, 0, 0, 2], 0, "#03");			Assert.AreEqual (destination [0, 0, 0, 3], 0, "#04");			Assert.AreEqual (destination [0, 0, 1, 0], 3, "#05");			Assert.AreEqual (destination [0, 0, 1, 1], 4, "#06");			Assert.AreEqual (destination [0, 0, 1, 2], 0, "#07");			Assert.AreEqual (destination [0, 0, 1, 3], 0, "#08");			Assert.AreEqual (destination [0, 0, 2, 0], 5, "#09");			Assert.AreEqual (destination [0, 0, 2, 1], 6, "#10");			Assert.AreEqual (destination [0, 0, 2, 2], 0, "#11");			Assert.AreEqual (destination [0, 0, 2, 3], 0, "#12");			Assert.AreEqual (destination [0, 1, 0, 0], 7, "#21");			Assert.AreEqual (destination [0, 1, 0, 1], 8, "#22");			Assert.AreEqual (destination [0, 1, 0, 2], 0, "#23");			Assert.AreEqual (destination [0, 1, 0, 3], 0, "#24");			Assert.AreEqual (destination [0, 1, 1, 0], 9, "#25");			Assert.AreEqual (destination [0, 1, 1, 1], 10, "#26");			Assert.AreEqual (destination [0, 1, 1, 2], 0, "#27");			Assert.AreEqual (destination [0, 1, 1, 3], 0, "#28");			Assert.AreEqual (destination [0, 1, 2, 0], 11, "#29");			Assert.AreEqual (destination [0, 1, 2, 1], 12, "#30");			Assert.AreEqual (destination [0, 1, 2, 2], 0, "#31");			Assert.AreEqual (destination [0, 1, 2, 3], 0, "#32");			destination = new int [1, 2, 3, 1];			Utils.CopyArray (source, destination);			Assert.AreEqual (destination [0, 0, 0, 0], 1, "#A1");			Assert.AreEqual (destination [0, 0, 1, 0], 3, "#A2");			Assert.AreEqual (destination [0, 0, 2, 0], 5, "#A3");			Assert.AreEqual (destination [0, 1, 0, 0], 7, "#A4");			Assert.AreEqual (destination [0, 1, 1, 0], 9, "#A5");			Assert.AreEqual (destination [0, 1, 2, 0], 11, "#A6");		}					[Test]		public void TestCopyArrayOneDimensionalShrinking() 		{			string[] source = new string[] { "First", "Second", "Third" };			string[] destination = new string[2];			string[] result = (string[])Utils.CopyArray(source, destination);			Assert.AreSame (destination, result, "ResultIsDestination");			Assert.AreEqual (source[0], destination[0], "First");			Assert.AreEqual (source[1], destination[1], "Second");		}		[Test]		public void TestCopyArrayOneDimensionalExpanding() 		{			string[] source = new string[] { "First", "Second" };			string[] destination = new string[3];			string[] result = (string[])Utils.CopyArray(source, destination);			Assert.AreSame (destination, result, "ResultIsDestination");			Assert.AreEqual (source[0], destination[0], "First");			Assert.AreEqual (source[1], destination[1], "Second");			Assert.IsNull (destination[2], "EmptyThird");		}		[Test]		public void TestCopyArrayBiDimensionalShrinking() 		{			string[,] source = new string[2,2];			source[0,0] = "First";			source[0,1] = "Second";			source[1,0] = "Third";			source[1,1] = "Fourth";			string[,] destination = new string[2,1];			string[,] result = (string[,])Utils.CopyArray(source, destination);			Assert.AreSame (destination, result, "ResultIsDestination");			Assert.AreEqual (source[0,0], destination[0,0], "First");			Assert.AreEqual (source[1,0], destination[1,0], "Third");		}		[Test]		public void TestCopyArrayBiDimensionalExpanding() 		{			string[,] source = new string[2,2];			source[0,0] = "First";			source[0,1] = "Second";			source[1,0] = "Third";			source[1,1] = "Fourth";			string[,] destination = new string[2,3];			string[,] result = (string[,])Utils.CopyArray(source, destination);			Assert.AreSame (destination, result, "ResultIsDestination");			Assert.AreEqual (source[0,0], destination[0,0], "First");			Assert.AreEqual (source[0,1], destination[0,1], "Second");			Assert.AreEqual (source[1,0], destination[1,0], "Third");			Assert.AreEqual (source[1,1], destination[1,1], "Fourth");			Assert.IsNull (destination[0,2], "EmptyFifth");			Assert.IsNull (destination[1,2], "EmptySixth");		}		[Test]		[ExpectedException (typeof (InvalidCastException), "'ReDim' cannot change the number of dimensions.")]		public void TestCopyArrayDifferentDimensions ()		{			string [] source = new string [2];			string [,] destination = new string [2, 2];			object result = Utils.CopyArray (source, destination);		}		[Test]		public void TestCopyArrayNullSource ()		{			string [,] destination = new string [2, 2];			object result = Utils.CopyArray (null, destination);						Assert.AreSame (result, destination, "#01");		}		[Test]		[ExpectedException (typeof (NullReferenceException))]		public void TestCopyArrayNullDestination ()		{			string [] source = new string [2];			object result = Utils.CopyArray (source, null);		}		[Test]		public void TestCopyArrayReturnValue ()		{			string [] source = new string [2];			string [] destination = new string [2];			object result = Utils.CopyArray (source, destination);						Assert.AreSame (result, destination, "#01");		}			}}

⌨️ 快捷键说明

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