tartests.cs

来自「全功能c#编译器」· CS 代码 · 共 51 行

CS
51
字号
#if TEST

using System;
using System.IO;

using NUnit.Framework;

namespace ICSharpCode.SharpZipLib.Tar {
	
	/// <summary>
	/// This class contains test cases for Tar archive handling
	/// TODO  A whole lot more tests
	/// </summary>
	[TestFixture]
	public class TarTestSuite
	{
		int entryCount;
		
		void EntryCounter(TarArchive archive, TarEntry entry, string message)
		{
			entryCount++;
		}
		
		/// <summary>
		/// Test that an empty archive can be created and when read has 0 entries in it
		/// </summary>
		[Test]
		public void EmptyTar()
		{
			MemoryStream ms = new MemoryStream();
			TarArchive tarOut = TarArchive.CreateOutputTarArchive(ms);
			tarOut.CloseArchive();
			
			Assertion.Assert("Archive size must be > zero", ms.GetBuffer().Length > 0);
			Assertion.AssertEquals("Archive size must be a multiple of record size", ms.GetBuffer().Length % tarOut.RecordSize, 0);
			
			MemoryStream ms2 = new MemoryStream();
			ms2.Write(ms.GetBuffer(), 0, ms.GetBuffer().Length);
			ms2.Seek(0, SeekOrigin.Begin);
			
			TarArchive tarIn = TarArchive.CreateInputTarArchive(ms2);
			entryCount = 0;
			tarIn.ProgressMessageEvent += new ProgressMessageHandler(EntryCounter);
			tarIn.ListContents();
			Assertion.AssertEquals("Expected 0 tar entries", 0, entryCount);
		}
	}
}

#endif

⌨️ 快捷键说明

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