MaskedTextBoxTest.cs 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953
  1. //
  2. // Copyright (c) 2007 Novell, Inc.
  3. //
  4. // Authors:
  5. // Rolf Bjarne Kvinge ([email protected])
  6. //
  7. #if NET_2_0
  8. using System;
  9. using System.Collections;
  10. using System.ComponentModel;
  11. using System.Drawing;
  12. using System.Windows.Forms;
  13. using System.Xml;
  14. using System.Threading;
  15. using NUnit.Framework;
  16. using System.Globalization;
  17. using Thread=System.Threading.Thread;
  18. using CategoryAttribute=NUnit.Framework.CategoryAttribute;
  19. using System.Reflection;
  20. namespace MonoTests.System.Windows.Forms
  21. {
  22. [TestFixture]
  23. public class MaskedTextBoxTest : TestHelper
  24. {
  25. [SetUp]
  26. protected override void SetUp () {
  27. Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo ("en-US");
  28. base.SetUp ();
  29. }
  30. [Test]
  31. public void InitialProperties ()
  32. {
  33. MaskedTextBox mtb = new MaskedTextBox ();
  34. Assert.AreEqual (false, mtb.AcceptsTab, "#A1");
  35. Assert.AreEqual (true, mtb.AllowPromptAsInput, "#A2");
  36. Assert.AreEqual (false, mtb.AsciiOnly, "#A3");
  37. Assert.AreEqual (false, mtb.BeepOnError, "#B1");
  38. Assert.AreEqual (false, mtb.CanUndo, "#C1");
  39. Assert.IsNotNull (mtb.Culture, "#C3");
  40. Assert.AreEqual (Thread.CurrentThread.CurrentCulture.Name, mtb.Culture.Name, "#4");
  41. Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.CutCopyMaskFormat, "#C5");
  42. Assert.IsNull (mtb.FormatProvider, "#F1");
  43. Assert.AreEqual (false, mtb.HidePromptOnLeave, "#H1");
  44. Assert.AreEqual (InsertKeyMode.Default, mtb.InsertKeyMode, "#I1");
  45. Assert.AreEqual (false, mtb.IsOverwriteMode, "#I2");
  46. Assert.AreEqual (0, mtb.Lines.Length, "#L1");
  47. Assert.AreEqual ("", mtb.Mask, "#M1");
  48. Assert.AreEqual (true, mtb.MaskCompleted, "#M2");
  49. Assert.IsNull (mtb.MaskedTextProvider, "#M3");
  50. Assert.AreEqual (true, mtb.MaskFull, "#M4");
  51. Assert.AreEqual (Int16.MaxValue, mtb.MaxLength, "#M5");
  52. Assert.AreEqual (false, mtb.Multiline, "#M6");
  53. Assert.AreEqual ('\0', mtb.PasswordChar, "#P1");
  54. Assert.AreEqual ('_', mtb.PromptChar, "#P2");
  55. Assert.AreEqual (false, mtb.ReadOnly, "#R1");
  56. Assert.AreEqual (false, mtb.RejectInputOnFirstFailure, "#R2");
  57. Assert.AreEqual (true, mtb.ResetOnPrompt, "#R3");
  58. Assert.AreEqual (true, mtb.ResetOnSpace, "#R4");
  59. Assert.AreEqual ("", mtb.SelectedText, "#S1");
  60. Assert.AreEqual (true, mtb.SkipLiterals, "#S2");
  61. Assert.AreEqual ("", mtb.Text, "#T1");
  62. Assert.AreEqual (HorizontalAlignment.Left, mtb.TextAlign, "#T2");
  63. Assert.AreEqual (0, mtb.TextLength, "#T3");
  64. Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.TextMaskFormat, "#T4");
  65. Assert.AreEqual (false, mtb.UseSystemPasswordChar, "#U1");
  66. Assert.IsNull (mtb.ValidatingType, "#V1");
  67. Assert.AreEqual (false, mtb.WordWrap, "#W1");
  68. mtb.Dispose ();
  69. }
  70. [Test]
  71. public void WordWrapTest ()
  72. {
  73. MaskedTextBox mtb;
  74. mtb = new MaskedTextBox ();
  75. Assert.AreEqual (false, mtb.WordWrap, "#W1");
  76. mtb.WordWrap = true;
  77. Assert.AreEqual (false, mtb.WordWrap, "#W2");
  78. mtb.Dispose ();
  79. }
  80. [Test]
  81. public void ValidatingTypeTest ()
  82. {
  83. MaskedTextBox mtb;
  84. mtb = new MaskedTextBox ();
  85. Assert.IsNull (mtb.ValidatingType, "#V1");
  86. mtb.ValidatingType = typeof(int);
  87. Assert.IsNotNull (mtb.ValidatingType, "#V2");
  88. Assert.AreSame (typeof(int), mtb.ValidatingType, "#V3");
  89. mtb.Dispose ();
  90. }
  91. [Test]
  92. public void UseSystemPasswordCharTest ()
  93. {
  94. MaskedTextBox mtb;
  95. mtb = new MaskedTextBox ();
  96. Assert.AreEqual (false, mtb.UseSystemPasswordChar, "#U1");
  97. mtb.UseSystemPasswordChar = true;
  98. Assert.AreEqual (true, mtb.UseSystemPasswordChar, "#U2");
  99. mtb.Dispose ();
  100. }
  101. [Test]
  102. public void TextMaskFormatTest ()
  103. {
  104. MaskedTextBox mtb;
  105. mtb = new MaskedTextBox ();
  106. Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.TextMaskFormat, "#T1");
  107. mtb.TextMaskFormat = MaskFormat.ExcludePromptAndLiterals;
  108. Assert.AreEqual (MaskFormat.ExcludePromptAndLiterals, mtb.TextMaskFormat, "#T2");
  109. mtb.TextMaskFormat = MaskFormat.IncludePromptAndLiterals;
  110. Assert.AreEqual (MaskFormat.IncludePromptAndLiterals, mtb.TextMaskFormat, "#T3");
  111. mtb.TextMaskFormat = MaskFormat.IncludePrompt;
  112. Assert.AreEqual (MaskFormat.IncludePrompt, mtb.TextMaskFormat, "#T4");
  113. mtb.TextMaskFormat = MaskFormat.IncludeLiterals;
  114. Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.TextMaskFormat, "#T4");
  115. mtb.Dispose ();
  116. }
  117. [Test]
  118. [ExpectedException (typeof(InvalidEnumArgumentException))]
  119. public void TextMaskFormatExceptionTestException ()
  120. {
  121. MaskedTextBox mtb;
  122. mtb = new MaskedTextBox ();
  123. mtb.TextMaskFormat = (MaskFormat) 123;
  124. mtb.Dispose ();
  125. }
  126. [Test]
  127. public void TextLengthTest ()
  128. {
  129. MaskedTextBox mtb;
  130. mtb = new MaskedTextBox ();
  131. Assert.AreEqual (0, mtb.TextLength, "#T1");
  132. mtb.Text = "abc";
  133. Assert.AreEqual (3, mtb.TextLength, "#T2");
  134. mtb.Dispose ();
  135. }
  136. [Test]
  137. public void TextAlignTest ()
  138. {
  139. MaskedTextBox mtb;
  140. mtb = new MaskedTextBox ();
  141. Assert.AreEqual (HorizontalAlignment.Left, mtb.TextAlign, "#T1");
  142. mtb.TextAlign = HorizontalAlignment.Center;
  143. Assert.AreEqual (HorizontalAlignment.Center, mtb.TextAlign, "#T2");
  144. mtb.TextAlign = HorizontalAlignment.Right;
  145. Assert.AreEqual (HorizontalAlignment.Right, mtb.TextAlign, "#T3");
  146. mtb.TextAlign = HorizontalAlignment.Left;
  147. Assert.AreEqual (HorizontalAlignment.Left, mtb.TextAlign, "#T4");
  148. mtb.Dispose ();
  149. }
  150. [Test]
  151. [ExpectedException (typeof (InvalidEnumArgumentException))]
  152. public void TextAlignExceptionTest ()
  153. {
  154. MaskedTextBox mtb;
  155. mtb = new MaskedTextBox ();
  156. mtb.TextAlign = (HorizontalAlignment) 123;
  157. mtb.Dispose ();
  158. }
  159. [Test]
  160. public void TextTest ()
  161. {
  162. MaskedTextBox mtb;
  163. mtb = new MaskedTextBox ();
  164. Assert.AreEqual ("", mtb.Text, "#T1");
  165. mtb.Text = "abc";
  166. Assert.AreEqual ("abc", mtb.Text, "#T2");
  167. mtb.Text = "ABC";
  168. Assert.AreEqual ("ABC", mtb.Text, "#T3");
  169. mtb.Mask = "abc";
  170. mtb.Text = "abc";
  171. Assert.AreEqual ("abc", mtb.Text, "#T4");
  172. mtb.Text = "ABC";
  173. Assert.AreEqual ("Abc", mtb.Text, "#T5");
  174. mtb.Text = "123";
  175. Assert.AreEqual ("1bc", mtb.Text, "#T6");
  176. mtb.Dispose ();
  177. }
  178. [Test]
  179. public void TextTest2 ()
  180. {
  181. MaskedTextBox mtb;
  182. mtb = new MaskedTextBox ();
  183. mtb.Mask = "99 99";
  184. mtb.Text = "23 34";
  185. Assert.AreEqual ("23 34", mtb.Text, "#T1");
  186. mtb.RejectInputOnFirstFailure = true;
  187. mtb.Text = "23 34";
  188. Assert.AreEqual ("23 34", mtb.Text, "#T2");
  189. mtb.Dispose ();
  190. }
  191. [Test]
  192. public void SkipLiteralsTest ()
  193. {
  194. MaskedTextBox mtb;
  195. mtb = new MaskedTextBox ();
  196. Assert.AreEqual (true, mtb.SkipLiterals, "#S1");
  197. mtb.SkipLiterals = false;
  198. Assert.AreEqual (false, mtb.SkipLiterals, "#S2");
  199. mtb.Dispose ();
  200. }
  201. [Test]
  202. public void SelectedTextTest ()
  203. {
  204. MaskedTextBox mtb;
  205. mtb = new MaskedTextBox ();
  206. Assert.AreEqual ("", mtb.SelectedText, "#S1");
  207. mtb.Text = "abc";
  208. Assert.AreEqual ("", mtb.SelectedText, "#S2");
  209. mtb.SelectAll ();
  210. Assert.AreEqual ("abc", mtb.SelectedText, "#S3");
  211. mtb.Dispose ();
  212. }
  213. [Test]
  214. public void ResetOnSpaceTest ()
  215. {
  216. MaskedTextBox mtb;
  217. mtb = new MaskedTextBox ();
  218. Assert.AreEqual (true, mtb.ResetOnSpace, "#R1");
  219. mtb.ResetOnSpace = false;
  220. Assert.AreEqual (false, mtb.ResetOnSpace, "#R2");
  221. mtb.Dispose ();
  222. }
  223. [Test]
  224. public void ResetOnPromptTest ()
  225. {
  226. MaskedTextBox mtb;
  227. mtb = new MaskedTextBox ();
  228. Assert.AreEqual (true, mtb.ResetOnPrompt, "#R1");
  229. mtb.ResetOnPrompt = false;
  230. Assert.AreEqual (false, mtb.ResetOnPrompt, "#R2");
  231. mtb.Dispose ();
  232. }
  233. [Test]
  234. public void RejectInputOnFirstFailureTest ()
  235. {
  236. MaskedTextBox mtb;
  237. mtb = new MaskedTextBox ();
  238. Assert.AreEqual (false, mtb.RejectInputOnFirstFailure, "#R1");
  239. mtb.RejectInputOnFirstFailure = true;
  240. Assert.AreEqual (true, mtb.RejectInputOnFirstFailure, "#R2");
  241. mtb.Dispose ();
  242. }
  243. [Test]
  244. public void ReadOnlyTest ()
  245. {
  246. MaskedTextBox mtb;
  247. mtb = new MaskedTextBox ();
  248. Assert.AreEqual (false, mtb.ReadOnly, "#R1");
  249. mtb.ReadOnly = true;
  250. Assert.AreEqual (true, mtb.ReadOnly, "#R2");
  251. mtb.Dispose ();
  252. }
  253. [Test]
  254. public void PromptCharTest ()
  255. {
  256. MaskedTextBox mtb;
  257. mtb = new MaskedTextBox ();
  258. Assert.AreEqual ('_', mtb.PromptChar, "#P1");
  259. mtb.PromptChar = '*';
  260. Assert.AreEqual ('*', mtb.PromptChar, "#P2");
  261. mtb.Dispose ();
  262. }
  263. [Test]
  264. public void PasswordCharTest ()
  265. {
  266. MaskedTextBox mtb;
  267. mtb = new MaskedTextBox ();
  268. Assert.AreEqual ('\0', mtb.PasswordChar, "#P1");
  269. mtb.PasswordChar = '*';
  270. Assert.AreEqual ('*', mtb.PasswordChar, "#P2");
  271. mtb.Dispose ();
  272. }
  273. [Test]
  274. public void MultilineTest ()
  275. {
  276. MaskedTextBox mtb;
  277. mtb = new MaskedTextBox ();
  278. Assert.AreEqual (false, mtb.Multiline, "#M1");
  279. mtb.Multiline = true;
  280. Assert.AreEqual (false, mtb.Multiline, "#M2");
  281. mtb.Dispose ();
  282. }
  283. [Test]
  284. public void MaskFullTest ()
  285. {
  286. MaskedTextBox mtb;
  287. mtb = new MaskedTextBox ();
  288. Assert.AreEqual (true, mtb.MaskFull, "#M1");
  289. mtb.Mask = "abc";
  290. Assert.AreEqual (false, mtb.MaskFull, "#M2");
  291. mtb.Text = "abc";
  292. Assert.AreEqual (true, mtb.MaskFull, "#M3");
  293. mtb.Dispose ();
  294. }
  295. [Test]
  296. public void MaskedTextProviderTest ()
  297. {
  298. MaskedTextBox mtb;
  299. MaskedTextProvider mtp;
  300. mtb = new MaskedTextBox ();
  301. Assert.IsNull (mtb.MaskedTextProvider, "#M1");
  302. mtb.Mask = "abc";
  303. Assert.IsNotNull (mtb.MaskedTextProvider, "#M2");
  304. Assert.AreEqual ("abc", mtb.MaskedTextProvider.Mask, "#M3");
  305. // We always get a clone of the current mtp.
  306. Assert.IsTrue (mtb.MaskedTextProvider != mtb.MaskedTextProvider, "#M4");
  307. mtb.Dispose ();
  308. mtp = new MaskedTextProvider ("Z");
  309. mtb = new MaskedTextBox (mtp);
  310. Assert.IsNotNull (mtb.MaskedTextProvider, "#M5");
  311. Assert.AreEqual ("Z", mtb.MaskedTextProvider.Mask, "#6");
  312. Assert.IsTrue (mtb.MaskedTextProvider != mtb.MaskedTextProvider, "#M7");
  313. Assert.IsTrue (mtb.MaskedTextProvider != mtp, "#M8");
  314. mtb.Dispose ();
  315. }
  316. [Test]
  317. public void MaskCompletedTest ()
  318. {
  319. MaskedTextBox mtb;
  320. mtb = new MaskedTextBox ();
  321. Assert.AreEqual (true, mtb.MaskCompleted, "#M1");
  322. mtb.Mask = "abcABCZZZ";
  323. Assert.AreEqual (false, mtb.MaskCompleted, "#M2");
  324. mtb.Text = "abcabcabc";
  325. Assert.AreEqual (true, mtb.MaskCompleted, "#M3");
  326. mtb.Dispose ();
  327. }
  328. [Test]
  329. public void MaskTest ()
  330. {
  331. MaskedTextBox mtb;
  332. mtb = new MaskedTextBox ();
  333. Assert.AreEqual ("", mtb.Mask, "#M1");
  334. mtb.Mask = "abc";
  335. Assert.AreEqual ("abc", mtb.Mask, "#M2");
  336. mtb.Mask = "";
  337. Assert.AreEqual ("", mtb.Mask, "#M3");
  338. mtb.Mask = null;
  339. Assert.AreEqual ("", mtb.Mask, "#M4");
  340. mtb.Mask = "";
  341. Assert.AreEqual ("", mtb.Mask, "#M5");
  342. mtb.Dispose ();
  343. }
  344. [Test]
  345. public void LinesTest ()
  346. {
  347. MaskedTextBox mtb;
  348. mtb = new MaskedTextBox ();
  349. Assert.AreEqual (0, mtb.Lines.Length, "#L1");
  350. mtb.Text = "abc";
  351. Assert.AreEqual (1, mtb.Lines.Length, "#L2");
  352. Assert.AreEqual ("abc", mtb.Lines [0], "#L2a");
  353. mtb.Text = "abc\nabc";
  354. Assert.AreEqual (2, mtb.Lines.Length, "#L3");
  355. Assert.AreEqual ("abc", mtb.Lines [0], "#L3a");
  356. Assert.AreEqual ("abc", mtb.Lines [1], "#L3b");
  357. mtb.Dispose ();
  358. }
  359. [Test]
  360. public void IsOverwriteModeTest ()
  361. {
  362. MaskedTextBox mtb;
  363. mtb = new MaskedTextBox ();
  364. Assert.AreEqual (false, mtb.IsOverwriteMode, "#I1");
  365. mtb.Dispose ();
  366. }
  367. [Test]
  368. public void InsertKeyModeTest ()
  369. {
  370. MaskedTextBox mtb;
  371. mtb = new MaskedTextBox ();
  372. Assert.AreEqual (InsertKeyMode.Default, mtb.InsertKeyMode, "#I1");
  373. mtb.InsertKeyMode = InsertKeyMode.Insert;
  374. Assert.AreEqual (InsertKeyMode.Insert, mtb.InsertKeyMode, "#I2");
  375. mtb.InsertKeyMode = InsertKeyMode.Overwrite;
  376. Assert.AreEqual (InsertKeyMode.Overwrite, mtb.InsertKeyMode, "#I3");
  377. mtb.InsertKeyMode = InsertKeyMode.Default;
  378. Assert.AreEqual (InsertKeyMode.Default, mtb.InsertKeyMode, "#I4");
  379. mtb.Dispose ();
  380. }
  381. [Test]
  382. [ExpectedException (typeof (InvalidEnumArgumentException))]
  383. public void InsertKeyModeExceptionTest ()
  384. {
  385. MaskedTextBox mtb;
  386. mtb = new MaskedTextBox ();
  387. mtb.InsertKeyMode = (InsertKeyMode) 123;
  388. mtb.Dispose ();
  389. }
  390. [Test]
  391. public void HidePromptOnLeaveTest ()
  392. {
  393. MaskedTextBox mtb;
  394. mtb = new MaskedTextBox ();
  395. Assert.AreEqual (false, mtb.HidePromptOnLeave, "#H1");
  396. mtb.HidePromptOnLeave = true;
  397. Assert.AreEqual (true, mtb.HidePromptOnLeave, "#H1");
  398. mtb.Dispose ();
  399. }
  400. [Test]
  401. public void FormatProviderTest ()
  402. {
  403. MaskedTextBox mtb;
  404. mtb = new MaskedTextBox ();
  405. Assert.IsNull (mtb.FormatProvider, "#F1");
  406. mtb.FormatProvider = CultureInfo.CurrentCulture.NumberFormat;
  407. Assert.IsNotNull (mtb.FormatProvider, "#F2");
  408. Assert.AreSame (CultureInfo.CurrentCulture.NumberFormat, mtb.FormatProvider, "#F3");
  409. mtb.Dispose ();
  410. }
  411. [Test]
  412. public void CutCopyMaskFormatTest ()
  413. {
  414. MaskedTextBox mtb;
  415. mtb = new MaskedTextBox ();
  416. Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.CutCopyMaskFormat, "#C1");
  417. mtb.CutCopyMaskFormat = MaskFormat.ExcludePromptAndLiterals;
  418. Assert.AreEqual (MaskFormat.ExcludePromptAndLiterals, mtb.CutCopyMaskFormat, "#C2");
  419. mtb.CutCopyMaskFormat = MaskFormat.IncludeLiterals;
  420. Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.CutCopyMaskFormat, "#C3");
  421. mtb.CutCopyMaskFormat = MaskFormat.IncludePrompt;
  422. Assert.AreEqual (MaskFormat.IncludePrompt, mtb.CutCopyMaskFormat, "#C4");
  423. mtb.CutCopyMaskFormat = MaskFormat.IncludePromptAndLiterals;
  424. Assert.AreEqual (MaskFormat.IncludePromptAndLiterals, mtb.CutCopyMaskFormat, "#C5");
  425. mtb.Dispose ();
  426. }
  427. [Test]
  428. [ExpectedException (typeof (InvalidEnumArgumentException))]
  429. public void CutCopyMaskFormatExceptionTest ()
  430. {
  431. MaskedTextBox mtb;
  432. mtb = new MaskedTextBox ();
  433. mtb.CutCopyMaskFormat = (MaskFormat) 123;
  434. mtb.Dispose ();
  435. }
  436. [Test]
  437. public void CultureTest ()
  438. {
  439. MaskedTextBox mtb;
  440. MaskedTextProvider mtp;
  441. try {
  442. Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo ("en-US");
  443. mtb = new MaskedTextBox ();
  444. Assert.IsNotNull (mtb.Culture, "#A1");
  445. Assert.AreEqual ("en-US", mtb.Culture.Name, "#A2");
  446. mtb.Dispose ();
  447. Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo ("es-ES");
  448. mtb = new MaskedTextBox ();
  449. Assert.IsNotNull (mtb.Culture, "#B1");
  450. Assert.AreEqual ("es-ES", mtb.Culture.Name, "#B2");
  451. mtb.Dispose ();
  452. mtp = new MaskedTextProvider ("abc");
  453. Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo ("es-AR");
  454. mtb = new MaskedTextBox (mtp);
  455. Assert.IsNotNull (mtb.Culture, "#C1");
  456. Assert.AreEqual ("es-ES", mtb.Culture.Name, "#C2");
  457. mtb.Dispose ();
  458. mtb = new MaskedTextBox ();
  459. mtb.Culture = CultureInfo.GetCultureInfo ("de-DE");
  460. Assert.AreEqual ("de-DE", mtb.Culture.Name, "#D1");
  461. } finally {
  462. Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo ("en-US");
  463. }
  464. }
  465. [Test]
  466. public void CanUndoTest ()
  467. {
  468. MaskedTextBox mtb = new MaskedTextBox ();
  469. TextBoxBase tbb = mtb;
  470. Assert.AreEqual (false, mtb.CanUndo, "#A1");
  471. Assert.AreEqual (false, tbb.CanUndo, "#A2");
  472. mtb.Dispose ();
  473. }
  474. [Test]
  475. public void BeepOnErrorTest ()
  476. {
  477. MaskedTextBox mtb = new MaskedTextBox ();
  478. Assert.AreEqual (false, mtb.BeepOnError, "#A1");
  479. mtb.BeepOnError = true;
  480. Assert.AreEqual (true, mtb.BeepOnError, "#A2");
  481. mtb.BeepOnError = false;
  482. Assert.AreEqual (false, mtb.BeepOnError, "#A3");
  483. mtb.Dispose ();
  484. }
  485. [Test]
  486. public void AsciiOnlyTest ()
  487. {
  488. MaskedTextBox mtb = new MaskedTextBox ();
  489. Assert.AreEqual (false, mtb.AsciiOnly, "#A1");
  490. mtb.AsciiOnly = true;
  491. Assert.AreEqual (true, mtb.AsciiOnly, "#A2");
  492. mtb.AsciiOnly = false;
  493. Assert.AreEqual (false, mtb.AsciiOnly, "#A3");
  494. mtb.Dispose ();
  495. }
  496. [Test]
  497. public void AllowPromptAsInputTest ()
  498. {
  499. MaskedTextBox mtb = new MaskedTextBox ();
  500. Assert.AreEqual (true, mtb.AllowPromptAsInput, "#A1");
  501. mtb.AllowPromptAsInput = true;
  502. Assert.AreEqual (true, mtb.AllowPromptAsInput, "#A2");
  503. mtb.AllowPromptAsInput = false;
  504. Assert.AreEqual (false, mtb.AllowPromptAsInput, "#A3");
  505. mtb.Dispose ();
  506. }
  507. [Test]
  508. public void AcceptsTabTest ()
  509. {
  510. MaskedTextBox mtb = new MaskedTextBox ();
  511. Assert.AreEqual (false, mtb.AcceptsTab, "#A1");
  512. mtb.AcceptsTab = true;
  513. Assert.AreEqual (false, mtb.AcceptsTab, "#A2");
  514. mtb.AcceptsTab = false;
  515. Assert.AreEqual (false, mtb.AcceptsTab, "#A3");
  516. mtb.Dispose ();
  517. }
  518. [Test]
  519. public void ConstructorTest ()
  520. {
  521. using (MaskedTextBox mtb = new MaskedTextBox ()) {
  522. Assert.AreEqual (false, mtb.AcceptsTab, "#A_A1");
  523. Assert.AreEqual (true, mtb.AllowPromptAsInput, "#A_A2");
  524. Assert.AreEqual (false, mtb.AsciiOnly, "#A_A3");
  525. Assert.AreEqual (false, mtb.BeepOnError, "#A_B1");
  526. Assert.AreEqual (false, mtb.CanUndo, "#A_C1");
  527. Assert.IsNotNull (mtb.Culture, "#A_C3");
  528. Assert.AreEqual (Thread.CurrentThread.CurrentCulture.Name, mtb.Culture.Name, "#A_4");
  529. Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.CutCopyMaskFormat, "#A_C5");
  530. Assert.IsNull (mtb.FormatProvider, "#A_F1");
  531. Assert.AreEqual (false, mtb.HidePromptOnLeave, "#A_H1");
  532. Assert.AreEqual (InsertKeyMode.Default, mtb.InsertKeyMode, "#A_I1");
  533. Assert.AreEqual (false, mtb.IsOverwriteMode, "#A_I2");
  534. Assert.AreEqual (0, mtb.Lines.Length, "#A_L1");
  535. Assert.AreEqual ("", mtb.Mask, "#A_M1");
  536. Assert.AreEqual (true, mtb.MaskCompleted, "#A_M2");
  537. Assert.IsNull (mtb.MaskedTextProvider, "#A_M3");
  538. Assert.AreEqual (true, mtb.MaskFull, "#A_M4");
  539. Assert.AreEqual (Int16.MaxValue, mtb.MaxLength, "#A_M5");
  540. Assert.AreEqual (false, mtb.Multiline, "#A_M6");
  541. Assert.AreEqual ('\0', mtb.PasswordChar, "#A_P1");
  542. Assert.AreEqual ('_', mtb.PromptChar, "#A_P2");
  543. Assert.AreEqual (false, mtb.ReadOnly, "#A_R1");
  544. Assert.AreEqual (false, mtb.RejectInputOnFirstFailure, "#A_R2");
  545. Assert.AreEqual (true, mtb.ResetOnPrompt, "#A_R3");
  546. Assert.AreEqual (true, mtb.ResetOnSpace, "#A_R4");
  547. Assert.AreEqual ("", mtb.SelectedText, "#A_S1");
  548. Assert.AreEqual (true, mtb.SkipLiterals, "#A_S2");
  549. Assert.AreEqual ("", mtb.Text, "#A_T1");
  550. Assert.AreEqual (HorizontalAlignment.Left, mtb.TextAlign, "#A_T2");
  551. Assert.AreEqual (0, mtb.TextLength, "#A_T3");
  552. Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.TextMaskFormat, "#A_T4");
  553. Assert.AreEqual (false, mtb.UseSystemPasswordChar, "#A_U1");
  554. Assert.IsNull (mtb.ValidatingType, "#A_V1");
  555. Assert.AreEqual (false, mtb.WordWrap, "#A_W1");
  556. }
  557. using (MaskedTextBox mtb = new MaskedTextBox ("abc")) {
  558. Assert.AreEqual (false, mtb.AcceptsTab, "#B_A1");
  559. Assert.AreEqual (true, mtb.AllowPromptAsInput, "#B_A2");
  560. Assert.AreEqual (false, mtb.AsciiOnly, "#B_A3");
  561. Assert.AreEqual (false, mtb.BeepOnError, "#B_B1");
  562. Assert.AreEqual (false, mtb.CanUndo, "#B_C1");
  563. Assert.IsNotNull (mtb.Culture, "#B_C3");
  564. Assert.AreEqual (Thread.CurrentThread.CurrentCulture.Name, mtb.Culture.Name, "#B_4");
  565. Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.CutCopyMaskFormat, "#B_C5");
  566. Assert.IsNull (mtb.FormatProvider, "#B_F1");
  567. Assert.AreEqual (false, mtb.HidePromptOnLeave, "#B_H1");
  568. Assert.AreEqual (InsertKeyMode.Default, mtb.InsertKeyMode, "#B_I1");
  569. Assert.AreEqual (false, mtb.IsOverwriteMode, "#B_I2");
  570. Assert.AreEqual (1, mtb.Lines.Length, "#B_L1");
  571. Assert.AreEqual ("abc", mtb.Mask, "#B_M1");
  572. Assert.AreEqual (true, mtb.MaskCompleted, "#B_M2");
  573. Assert.IsNotNull (mtb.MaskedTextProvider, "#B_M3");
  574. Assert.AreEqual (false, mtb.MaskFull, "#B_M4");
  575. Assert.AreEqual (Int16.MaxValue, mtb.MaxLength, "#B_M5");
  576. Assert.AreEqual (false, mtb.Multiline, "#B_M6");
  577. Assert.AreEqual ('\0', mtb.PasswordChar, "#B_P1");
  578. Assert.AreEqual ('_', mtb.PromptChar, "#B_P2");
  579. Assert.AreEqual (false, mtb.ReadOnly, "#B_R1");
  580. Assert.AreEqual (false, mtb.RejectInputOnFirstFailure, "#B_R2");
  581. Assert.AreEqual (true, mtb.ResetOnPrompt, "#B_R3");
  582. Assert.AreEqual (true, mtb.ResetOnSpace, "#B_R4");
  583. Assert.AreEqual ("", mtb.SelectedText, "#B_S1");
  584. Assert.AreEqual (true, mtb.SkipLiterals, "#B_S2");
  585. Assert.AreEqual (" bc", mtb.Text, "#B_T1");
  586. Assert.AreEqual (HorizontalAlignment.Left, mtb.TextAlign, "#B_T2");
  587. Assert.AreEqual (3, mtb.TextLength, "#B_T3");
  588. Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.TextMaskFormat, "#B_T4");
  589. Assert.AreEqual (false, mtb.UseSystemPasswordChar, "#B_U1");
  590. Assert.IsNull (mtb.ValidatingType, "#B_V1");
  591. Assert.AreEqual (false, mtb.WordWrap, "#B_W1");
  592. }
  593. using (MaskedTextBox mtb = new MaskedTextBox ("<>")) {
  594. Assert.AreEqual (false, mtb.AcceptsTab, "#C_A1");
  595. Assert.AreEqual (true, mtb.AllowPromptAsInput, "#C_A2");
  596. Assert.AreEqual (false, mtb.AsciiOnly, "#C_A3");
  597. Assert.AreEqual (false, mtb.BeepOnError, "#C_B1");
  598. Assert.AreEqual (false, mtb.CanUndo, "#C_C1");
  599. Assert.IsNotNull (mtb.Culture, "#C_C3");
  600. Assert.AreEqual (Thread.CurrentThread.CurrentCulture.Name, mtb.Culture.Name, "#C_4");
  601. Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.CutCopyMaskFormat, "#C_C5");
  602. Assert.IsNull (mtb.FormatProvider, "#C_F1");
  603. Assert.AreEqual (false, mtb.HidePromptOnLeave, "#C_H1");
  604. Assert.AreEqual (InsertKeyMode.Default, mtb.InsertKeyMode, "#C_I1");
  605. Assert.AreEqual (false, mtb.IsOverwriteMode, "#C_I2");
  606. Assert.AreEqual (0, mtb.Lines.Length, "#C_L1");
  607. Assert.AreEqual ("<>", mtb.Mask, "#C_M1");
  608. Assert.AreEqual (true, mtb.MaskCompleted, "#C_M2");
  609. Assert.IsNotNull (mtb.MaskedTextProvider, "#C_M3");
  610. Assert.AreEqual (true, mtb.MaskFull, "#C_M4");
  611. Assert.AreEqual (Int16.MaxValue, mtb.MaxLength, "#C_M5");
  612. Assert.AreEqual (false, mtb.Multiline, "#C_M6");
  613. Assert.AreEqual ('\0', mtb.PasswordChar, "#C_P1");
  614. Assert.AreEqual ('_', mtb.PromptChar, "#C_P2");
  615. Assert.AreEqual (false, mtb.ReadOnly, "#C_R1");
  616. Assert.AreEqual (false, mtb.RejectInputOnFirstFailure, "#C_R2");
  617. Assert.AreEqual (true, mtb.ResetOnPrompt, "#C_R3");
  618. Assert.AreEqual (true, mtb.ResetOnSpace, "#C_R4");
  619. Assert.AreEqual ("", mtb.SelectedText, "#C_S1");
  620. Assert.AreEqual (true, mtb.SkipLiterals, "#C_S2");
  621. Assert.AreEqual ("", mtb.Text, "#C_T1");
  622. Assert.AreEqual (HorizontalAlignment.Left, mtb.TextAlign, "#C_T2");
  623. Assert.AreEqual (0, mtb.TextLength, "#C_T3");
  624. Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.TextMaskFormat, "#C_T4");
  625. Assert.AreEqual (false, mtb.UseSystemPasswordChar, "#C_U1");
  626. Assert.IsNull (mtb.ValidatingType, "#C_V1");
  627. Assert.AreEqual (false, mtb.WordWrap, "#C_W1");
  628. }
  629. using (MaskedTextBox mtb = new MaskedTextBox ("abcdefghijklmopqrstuvwxyzABCDEFGHIJKLMOPQRSTUVWXYZ1234567890ÑñæøåÆØÅ!\\ºª\"·$%&/()='?¡¿`^+*´¨Çç-_.:,;}{][")) {
  630. Assert.AreEqual (false, mtb.AcceptsTab, "#D_A1");
  631. Assert.AreEqual (true, mtb.AllowPromptAsInput, "#D_A2");
  632. Assert.AreEqual (false, mtb.AsciiOnly, "#D_A3");
  633. Assert.AreEqual (false, mtb.BeepOnError, "#D_B1");
  634. Assert.AreEqual (false, mtb.CanUndo, "#D_C1");
  635. Assert.IsNotNull (mtb.Culture, "#D_C3");
  636. Assert.AreEqual (Thread.CurrentThread.CurrentCulture.Name, mtb.Culture.Name, "#D_4");
  637. Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.CutCopyMaskFormat, "#D_C5");
  638. Assert.IsNull (mtb.FormatProvider, "#D_F1");
  639. Assert.AreEqual (false, mtb.HidePromptOnLeave, "#D_H1");
  640. Assert.AreEqual (InsertKeyMode.Default, mtb.InsertKeyMode, "#D_I1");
  641. Assert.AreEqual (false, mtb.IsOverwriteMode, "#D_I2");
  642. Assert.AreEqual (1, mtb.Lines.Length, "#D_L1");
  643. Assert.AreEqual ("abcdefghijklmopqrstuvwxyzABCDEFGHIJKLMOPQRSTUVWXYZ1234567890ÑñæøåÆØÅ!\\ºª\"·$%&/()='?¡¿`^+*´¨Çç-_.:,;}{][", mtb.Mask, "#D_M1");
  644. Assert.AreEqual (false, mtb.MaskCompleted, "#D_M2");
  645. Assert.IsNotNull (mtb.MaskedTextProvider, "#D_M3");
  646. Assert.AreEqual (false, mtb.MaskFull, "#D_M4");
  647. Assert.AreEqual (Int16.MaxValue, mtb.MaxLength, "#D_M5");
  648. Assert.AreEqual (false, mtb.Multiline, "#D_M6");
  649. Assert.AreEqual ('\0', mtb.PasswordChar, "#D_P1");
  650. Assert.AreEqual ('_', mtb.PromptChar, "#D_P2");
  651. Assert.AreEqual (false, mtb.ReadOnly, "#D_R1");
  652. Assert.AreEqual (false, mtb.RejectInputOnFirstFailure, "#D_R2");
  653. Assert.AreEqual (true, mtb.ResetOnPrompt, "#D_R3");
  654. Assert.AreEqual (true, mtb.ResetOnSpace, "#D_R4");
  655. Assert.AreEqual ("", mtb.SelectedText, "#D_S1");
  656. Assert.AreEqual (true, mtb.SkipLiterals, "#D_S2");
  657. Assert.AreEqual (" bcdefghijklmopqrstuvwxyz B DEFGHIJK MOPQRSTUVWXYZ12345678 ÑñæøåÆØÅ!ºª\"·$% /()=' ¡¿`^+*´¨Çç-_.:,;}{][", mtb.Text, "#D_T1");
  658. Assert.AreEqual (HorizontalAlignment.Left, mtb.TextAlign, "#D_T2");
  659. Assert.AreEqual (102, mtb.TextLength, "#D_T3");
  660. Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.TextMaskFormat, "#D_T4");
  661. Assert.AreEqual (false, mtb.UseSystemPasswordChar, "#D_U1");
  662. Assert.IsNull (mtb.ValidatingType, "#D_V1");
  663. Assert.AreEqual (false, mtb.WordWrap, "#D_W1");
  664. }
  665. MaskedTextProvider mtp = new MaskedTextProvider ("abcd", CultureInfo.GetCultureInfo ("es-AR"), false, '>', '^', false);
  666. using (MaskedTextBox mtb = new MaskedTextBox (mtp)) {
  667. Assert.AreEqual (false, mtb.AcceptsTab, "#E_A1");
  668. Assert.AreEqual (false, mtb.AllowPromptAsInput, "#E_A2");
  669. Assert.AreEqual (false, mtb.AsciiOnly, "#E_A3");
  670. Assert.AreEqual (false, mtb.BeepOnError, "#E_B1");
  671. Assert.AreEqual (false, mtb.CanUndo, "#E_C1");
  672. Assert.IsNotNull (mtb.Culture, "#E_C3");
  673. Assert.AreEqual ("es-AR", mtb.Culture.Name, "#E_4");
  674. Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.CutCopyMaskFormat, "#E_C5");
  675. Assert.IsNull (mtb.FormatProvider, "#E_F1");
  676. Assert.AreEqual (false, mtb.HidePromptOnLeave, "#E_H1");
  677. Assert.AreEqual (InsertKeyMode.Default, mtb.InsertKeyMode, "#E_I1");
  678. Assert.AreEqual (false, mtb.IsOverwriteMode, "#E_I2");
  679. Assert.AreEqual (1, mtb.Lines.Length, "#E_L1");
  680. Assert.AreEqual ("abcd", mtb.Mask, "#E_M1");
  681. Assert.AreEqual (true, mtb.MaskCompleted, "#E_M2");
  682. Assert.IsNotNull (mtb.MaskedTextProvider, "#E_M3");
  683. Assert.IsFalse (mtb.MaskedTextProvider == mtp, "#E_M3-b");
  684. Assert.AreEqual (false, mtb.MaskFull, "#E_M4");
  685. Assert.AreEqual (Int16.MaxValue, mtb.MaxLength, "#E_M5");
  686. Assert.AreEqual (false, mtb.Multiline, "#E_M6");
  687. Assert.AreEqual ('^', mtb.PasswordChar, "#E_P1");
  688. Assert.AreEqual ('>', mtb.PromptChar, "#E_P2");
  689. Assert.AreEqual (false, mtb.ReadOnly, "#E_R1");
  690. Assert.AreEqual (false, mtb.RejectInputOnFirstFailure, "#E_R2");
  691. Assert.AreEqual (true, mtb.ResetOnPrompt, "#E_R3");
  692. Assert.AreEqual (true, mtb.ResetOnSpace, "#E_R4");
  693. Assert.AreEqual ("", mtb.SelectedText, "#E_S1");
  694. Assert.AreEqual (true, mtb.SkipLiterals, "#E_S2");
  695. Assert.AreEqual (" bcd", mtb.Text, "#E_T1");
  696. Assert.AreEqual (HorizontalAlignment.Left, mtb.TextAlign, "#E_T2");
  697. Assert.AreEqual (4, mtb.TextLength, "#E_T3");
  698. Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.TextMaskFormat, "#E_T4");
  699. Assert.AreEqual (false, mtb.UseSystemPasswordChar, "#E_U1");
  700. Assert.IsNull (mtb.ValidatingType, "#E_V1");
  701. Assert.AreEqual (false, mtb.WordWrap, "#E_W1");
  702. }
  703. }
  704. [Test]
  705. public void UndoTest ()
  706. {
  707. MaskedTextBox mtb;
  708. mtb = new MaskedTextBox ();
  709. mtb.Text = "abcdef";
  710. Assert.AreEqual (false, mtb.CanUndo, "#A0-c");
  711. mtb.Undo ();
  712. Assert.AreEqual ("abcdef", mtb.Text, "#A1");
  713. Assert.AreEqual (false, mtb.CanUndo, "#A1-c");
  714. mtb.Text = "cdef";
  715. mtb.ClearUndo ();
  716. Assert.AreEqual ("cdef", mtb.Text, "#A2");
  717. Assert.AreEqual (false, mtb.CanUndo, "#A2-c");
  718. mtb.Dispose ();
  719. }
  720. [Test]
  721. public void CreateHandleTest ()
  722. {
  723. using (MaskedTextBox mtb = new MaskedTextBox ()) {
  724. Assert.AreEqual (false, mtb.IsHandleCreated, "#A1");
  725. typeof (MaskedTextBox).GetMethod ("CreateHandle", global::System.Reflection.BindingFlags.Instance | global::System.Reflection.BindingFlags.NonPublic).Invoke (mtb, new object [] { });
  726. Assert.AreEqual (true, mtb.IsHandleCreated, "#A2");
  727. }
  728. }
  729. [Test]
  730. public void GetFirstCharIndexFromLineTest ()
  731. {
  732. using (MaskedTextBox mtb = new MaskedTextBox ()) {
  733. for (int i = -100; i < 100; i++) {
  734. Assert.AreEqual (0, mtb.GetFirstCharIndexFromLine (i), "#A" + i.ToString ());
  735. }
  736. mtb.Text = "alñsdh gaph" + Environment.NewLine + "asldg";
  737. for (int i = -100; i < 100; i++) {
  738. Assert.AreEqual (0, mtb.GetFirstCharIndexFromLine (i), "#B" + i.ToString ());
  739. }
  740. }
  741. }
  742. [Test]
  743. public void GetFirstCharIndexOfCurrentLineTest ()
  744. {
  745. using (MaskedTextBox mtb = new MaskedTextBox ()) {
  746. Assert.AreEqual (0, mtb.GetFirstCharIndexOfCurrentLine (), "#A1");
  747. mtb.Text = "alñsdh gaph" + Environment.NewLine + "asldg";
  748. Assert.AreEqual (0, mtb.GetFirstCharIndexOfCurrentLine (), "#B1");
  749. }
  750. }
  751. [Test]
  752. public void GetLineFromCharIndexTest ()
  753. {
  754. using (MaskedTextBox mtb = new MaskedTextBox ()) {
  755. for (int i = -100; i < 100; i++) {
  756. Assert.AreEqual (0, mtb.GetLineFromCharIndex (i), "#A" + i.ToString ());
  757. }
  758. mtb.Text = "alñsdh gaph" + Environment.NewLine + "asldg";
  759. for (int i = -100; i < 100; i++) {
  760. Assert.AreEqual (0, mtb.GetLineFromCharIndex (i), "#B" + i.ToString ());
  761. }
  762. }
  763. }
  764. [Test]
  765. public void IsInputKeyTest ()
  766. {
  767. using (Form f = new Form ()) {
  768. using (MaskedTextBox mtb = new MaskedTextBox ()) {
  769. f.Controls.Add (mtb);
  770. f.Show ();
  771. MethodInfo IsInputKey = typeof (MaskedTextBox).GetMethod ("IsInputKey", global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance);
  772. for (int i = 0; i <= 0xFF; i++) {
  773. Keys key = (Keys) i;
  774. Keys key_ALT = key | Keys.Alt;
  775. Keys key_SHIFT = key | Keys.Shift;
  776. Keys key_CTRL = key | Keys.Control;
  777. Keys key_ALT_SHIFT = key | Keys.Alt | Keys.Shift;
  778. Keys key_ALT_CTRL = key | Keys.Alt | Keys.Control;
  779. Keys key_SHIFT_CTLR = key | Keys.Shift | Keys.Control;
  780. Keys key_ALT_SHIFT_CTLR = key | Keys.Alt | Keys.Shift | Keys.Control;
  781. bool is_input = false;
  782. switch (key) {
  783. case Keys.PageDown:
  784. case Keys.PageUp:
  785. case Keys.End:
  786. case Keys.Home:
  787. case Keys.Left:
  788. case Keys.Right:
  789. case Keys.Up:
  790. case Keys.Down:
  791. is_input = true;
  792. break;
  793. }
  794. Assert.AreEqual (is_input, (bool)IsInputKey.Invoke (mtb, new object [] { key }));
  795. Assert.AreEqual (false, (bool)IsInputKey.Invoke (mtb, new object [] { key_ALT }));
  796. Assert.AreEqual (is_input, (bool)IsInputKey.Invoke (mtb, new object [] { key_SHIFT }));
  797. Assert.AreEqual (is_input, (bool)IsInputKey.Invoke (mtb, new object [] { key_CTRL }));
  798. Assert.AreEqual (false, (bool)IsInputKey.Invoke (mtb, new object [] { key_ALT_SHIFT }));
  799. Assert.AreEqual (false, (bool)IsInputKey.Invoke (mtb, new object [] { key_ALT_CTRL }));
  800. Assert.AreEqual (is_input, (bool)IsInputKey.Invoke (mtb, new object [] { key_SHIFT_CTLR }));
  801. Assert.AreEqual (false, (bool)IsInputKey.Invoke (mtb, new object [] { key_ALT_SHIFT_CTLR }));
  802. }
  803. }
  804. }
  805. }
  806. [Test]
  807. public void ValidateTextTest ()
  808. {
  809. Assert.Ignore ("Pending implementation");
  810. }
  811. [Test]
  812. public void ToStringTest ()
  813. {
  814. Assert.Ignore ("Pending implementation");
  815. }
  816. }
  817. }
  818. #endif