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

📄 textfieldparsertest.cs

📁 大名鼎鼎的mono是.NET平台的跨平台(支持linux
💻 CS
📖 第 1 页 / 共 2 页
字号:
				t.SetFieldWidths (new int [] { 1, 3, 2 });				t.TextFieldType = FieldType.FixedWidth;				Assert.AreEqual (";bcd;ef", Strings.Join (t.ReadFields (), ";"), "#21");				try {					Assert.AreEqual ("1;234", Strings.Join (t.ReadFields (), ";"), "#22");					Assert.Fail ("#E23 - Expected 'MalformedLineException'");				} catch (MalformedLineException ex) {					Assert.AreEqual ("Line 2 cannot be parsed using the current FieldWidths.", ex.Message, "#E21");					Assert.AreEqual (2, ex.LineNumber, "#E22");				} catch (Exception ex) {					Helper.RemoveWarning (ex);					Assert.Fail ("#E24 - Expected 'MalformedLineException'");				}				Assert.AreEqual ("g;h k;lm", Strings.Join (t.ReadFields (), ";"), "#23");			}		}				[Test]		public void SetFieldWidhtsTest ()		{			using (StringReader reader = new StringReader ("abcd" + Constants.vbNewLine + "efgh" + Constants.vbNewLine))			using (TextFieldParser t = new TextFieldParser (reader)) {				t.TextFieldType = FieldType.Delimited;				t.SetFieldWidths (new int [] { 1, 3, 2 });				Assert.AreEqual ("1;3;2", Helper.Join (t.FieldWidths, ";"), "#01");				Assert.AreEqual (FieldType.Delimited, t.TextFieldType, "#02");			}		}		[Test]		public void SetDelimitersTest ()		{			using (StringReader reader = new StringReader ("abcd" + Constants.vbNewLine + "efgh" + Constants.vbNewLine))			using (TextFieldParser t = new TextFieldParser (reader)) {				t.TextFieldType = FieldType.FixedWidth;				t.SetDelimiters (";", ":");				Assert.AreEqual (";?:", Helper.Join (t.Delimiters, "?"), "#01");				Assert.AreEqual (FieldType.FixedWidth, t.TextFieldType, "#02");			}		}				[Test]		public void PeekTest ()		{			using (StringReader reader = new StringReader ("abcd" + Constants.vbNewLine + "efgh" + Constants.vbNewLine + "'comment" + Constants.vbNewLine + "after comment" + Constants.vbNewLine))			using (TextFieldParser t = new TextFieldParser (reader)) {				Assert.AreEqual ("a", t.PeekChars (1), "#01");				Assert.AreEqual ("a", t.PeekChars (1), "#02");				Assert.AreEqual ("ab", t.PeekChars (2), "#03");				Assert.AreEqual ("abcd", t.PeekChars (10), "#04");				Assert.AreEqual ("abcd", t.ReadLine (), "#05");				Assert.AreEqual ("ef", t.PeekChars (2), "#06");								try {					t.PeekChars (0);				} catch (ArgumentException ex){					Helper.RemoveWarning (ex);				} catch (Exception ex) {					Helper.RemoveWarning (ex); 					Assert.Fail ("#07 - Expected 'ArgumentException'");				}				try {					t.PeekChars (-1);				} catch (ArgumentException ex) {					Helper.RemoveWarning (ex);				} catch (Exception ex) {					Helper.RemoveWarning (ex);					Assert.Fail ("#08 - Expected 'ArgumentException'");				}				Assert.AreEqual ("efgh", t.PeekChars (10), "#09");				Assert.AreEqual ("efgh", t.ReadLine (), "#10");				t.CommentTokens = new string [] {"'"};				Assert.AreEqual ("afte", t.PeekChars (4), "#11");				Assert.AreEqual ("'comment", t.ReadLine (), "#12");				Assert.AreEqual ("af", t.PeekChars (2), "#13");				Assert.AreEqual ("after comment", t.ReadLine (), "#14");			}		}				[Test]		public void DefaultPropertiesTest ()		{			using (StringReader reader = new StringReader (String.Empty))			using (TextFieldParser t = new TextFieldParser (reader)) {				Assert.IsNotNull (t.CommentTokens, "#C1");				Assert.AreEqual (null, Strings.Join(t.CommentTokens, ";"), "#C2");				Assert.IsNull (t.Delimiters, "#D1");				Assert.IsTrue (t.EndOfData, "#E1");				Assert.AreEqual ("", t.ErrorLine, "#E2");				Assert.AreEqual (-1, t.ErrorLineNumber, "#E3");				Assert.IsNull (t.FieldWidths, "#F1");				Assert.AreEqual (true, t.HasFieldsEnclosedInQuotes, "#H1");				Assert.AreEqual (-1, t.LineNumber, "#L1");				Assert.AreEqual (FieldType.Delimited, t.TextFieldType, "#T1");				Assert.AreEqual (true, t.TrimWhiteSpace, "#T2");							}		}				[Test]		public void CtorTest1 ()		{			using (StringReader reader = new StringReader (String.Empty)) 			using (TextFieldParser t = new TextFieldParser (reader)) 			{					Assert.AreEqual (string.Empty, t.ReadToEnd (), "#A1");			}						using (StringReader reader = new StringReader ("abc")) 			using (TextFieldParser t = new TextFieldParser (reader)) 			{					Assert.AreEqual ("abc", t.ReadToEnd (), "#A2");			}			using (MemoryStream reader = new System.IO.MemoryStream (Encoding.ASCII.GetBytes("abc")))			using (TextFieldParser t = new TextFieldParser (reader, Encoding.ASCII)) 			{				Assert.AreEqual ("abc", t.ReadToEnd (), "#A3");			}			using (MemoryStream reader = new System.IO.MemoryStream (Encoding.ASCII.GetBytes ("abc")))			using (TextFieldParser t = new TextFieldParser (reader, Encoding.Unicode)) 			{				Assert.IsTrue ("abc" != t.ReadToEnd (), "#A4");			}			using (MemoryStream reader = new System.IO.MemoryStream (Encoding.ASCII.GetBytes ("abc")))			using (TextFieldParser t = new TextFieldParser (reader, Encoding.Unicode, true)) 			{				Assert.IsTrue ("abc" != t.ReadToEnd (), "#A5");			}			using (MemoryStream reader = new System.IO.MemoryStream (Encoding.Unicode.GetBytes ("abc")))			using (TextFieldParser t = new TextFieldParser (reader, Encoding.ASCII, true)) 			{				Assert.IsTrue ("abc" != t.ReadToEnd (), "#A6");			}			// Unicode string with bom			using (MemoryStream reader = new System.IO.MemoryStream (new byte [] {0xFF, 0xFE, 0x61, 0, 0x62, 0, 0x63, 0}))			using (TextFieldParser t = new TextFieldParser (reader, Encoding.ASCII, true)) 			{				Assert.AreEqual ("abc", t.ReadToEnd (), "#A7");			}			// UTF8 string with bom			using (MemoryStream reader = new System.IO.MemoryStream (new byte [] { 0xEF, 0xBB, 0xBF, 0x61, 0x62, 0x63 }))			using (TextFieldParser t = new TextFieldParser (reader, Encoding.ASCII, true)) 			{				Assert.AreEqual ("abc", t.ReadToEnd (), "#A8");			}			try {				using (StringReader reader = new StringReader ("abc")) {					using (TextFieldParser t = new TextFieldParser (reader)) {						Assert.AreEqual ("abc", t.ReadToEnd (), "#A9");					}					reader.ReadToEnd ();				}				Assert.Fail ("Excepted 'ObjectDisposedException'");			} catch (ObjectDisposedException ex) {				Helper.RemoveWarning (ex);			} catch (Exception ex) {				Helper.RemoveWarning (ex);				Assert.Fail("Excepted 'ObjectDisposedException'");			}			using (MemoryStream reader = new System.IO.MemoryStream (new byte [] { 0xEF, 0xBB, 0xBF, 0x61, 0x62, 0x63 })) {				using (TextFieldParser t = new TextFieldParser (reader, Encoding.UTF8, true, true)) {					Assert.AreEqual ("abc", t.ReadToEnd (), "#A10");				}				reader.ReadByte ();			}			using (MemoryStream reader = new System.IO.MemoryStream (Encoding.UTF8.GetBytes ("abc")))			using (TextFieldParser t = new TextFieldParser (reader)) {				Assert.AreEqual ("abc", t.ReadToEnd (), "#A11");			}									string tmpfile;						tmpfile = System.IO.Path.GetTempFileName ();			try {				Microsoft.VisualBasic.FileIO.FileSystem.WriteAllText (tmpfile, "abc", false);				using (TextFieldParser t = new TextFieldParser (tmpfile)) {					Assert.AreEqual ("abc", t.ReadToEnd (), "#B01");				}			} finally {				System.IO.File.Delete (tmpfile);			}						tmpfile = System.IO.Path.GetTempFileName ();			try {				Microsoft.VisualBasic.FileIO.FileSystem.WriteAllText (tmpfile, "abc", false);				using (TextFieldParser t = new TextFieldParser (tmpfile, Encoding.ASCII)) {					Assert.AreEqual ("abc", t.ReadToEnd (), "#B02");				}			} finally {				System.IO.File.Delete (tmpfile);			}			tmpfile = System.IO.Path.GetTempFileName ();			try {				Microsoft.VisualBasic.FileIO.FileSystem.WriteAllBytes (tmpfile, new byte [] {0xFF, 0xFE, 0x61, 0, 0x62, 0, 0x63, 0}, false);				using (TextFieldParser t = new TextFieldParser (tmpfile, Encoding.Unicode)) {					Assert.AreEqual ("abc", t.ReadToEnd (), "#B03");				}			} finally {				System.IO.File.Delete (tmpfile);			}			tmpfile = System.IO.Path.GetTempFileName ();			try {				Microsoft.VisualBasic.FileIO.FileSystem.WriteAllBytes (tmpfile, new byte [] { 0xFF, 0xFE, 0x61, 0, 0x62, 0, 0x63, 0 }, false);				using (TextFieldParser t = new TextFieldParser (tmpfile, Encoding.UTF8, true)) {					Assert.AreEqual ("abc", t.ReadToEnd (), "#B04");				}			} finally {				System.IO.File.Delete (tmpfile);			}			tmpfile = System.IO.Path.GetTempFileName ();			try {				Microsoft.VisualBasic.FileIO.FileSystem.WriteAllBytes (tmpfile, new byte [] { 0x61, 0x62, 0x63}, false);				using (TextFieldParser t = new TextFieldParser (tmpfile, Encoding.UTF8, false)) {					Assert.AreEqual ("abc", t.ReadToEnd (), "#B04");				}			} finally {				System.IO.File.Delete (tmpfile);			}																				}	}}#endif

⌨️ 快捷键说明

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