PageRenderTime 37ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/mcs/class/System/Test/System.ComponentModel/MaskedTextProviderTestGenerator.cs

https://bitbucket.org/danipen/mono
C# | 3022 lines | 2885 code | 30 blank | 107 comment | 55 complexity | bc44c7360e05cc8d21c318c91af9371f MD5 | raw file
Possible License(s): Unlicense, Apache-2.0, LGPL-2.0, MPL-2.0-no-copyleft-exception, CC-BY-SA-3.0, GPL-2.0
  1. //
  2. // System.ComponentModel.MaskedTextProvider test cases
  3. //
  4. // Authors:
  5. // Rolf Bjarne Kvinge (RKvinge@novell.com)
  6. //
  7. // (c) 2007 Novell, Inc.
  8. //
  9. // a reference like this is required:
  10. // -reference:MS_System=<gac>\System.dll
  11. extern alias MS_System;
  12. using System;
  13. using System.ComponentModel;
  14. using System.Text;
  15. using System.IO;
  16. using System.Reflection;
  17. using System.Globalization;
  18. using System.Collections;
  19. using System.Collections.Generic;
  20. using System.Threading;
  21. using System.Diagnostics;
  22. using MS_System_ComponentModel = MS_System.System.ComponentModel;
  23. using NUnit.Framework;
  24. namespace MonoTests.System.ComponentModel
  25. {
  26. class MaskedTextProviderTestGenerator
  27. {
  28. const int MAXFAILEDTESTS = 100;
  29. static string [] test_masks = new string [] {
  30. // Misc
  31. "abc",
  32. "aba",
  33. "abaa",
  34. "a?b?c" ,
  35. "09#L?&CAa.,:/$<>|\\\\",
  36. // Social security numbers
  37. "000-00-0000", "0 00 00 00 000 000 00", "000-00-0000", "000000-0000000",
  38. // Zip codes
  39. "00000-9999", "00000", "000-0000", "99000",
  40. // Dates
  41. "00/00/0000", "00 /00 /0000", "00 /00 /0000 00:00", "00/00/0000 00:00", "0000-00-00 90:00:00",
  42. "0000-00-00 90:00", "0000-00-00", "00->L<LL-0000", "90:00", "00:00",
  43. // Phone numbers
  44. "(999)-000-0000", "00000", "99999", "00 00 00 00 00 00", "0000 00000", "99900-9990-0000", "(900)9000-0000",
  45. "(00)9000-0000", "(999)9000-0000", "000-0000", "9000-0000",
  46. // Money
  47. "$999,999.00"
  48. };
  49. static int tab = 0;
  50. static StreamWriter writer;
  51. static bool dont_write;
  52. static char [] char_values = new char [] { char.MinValue, char.MaxValue, 'a', '/', ' ', '*', '1'};
  53. static int [] int_values = new int [] { int.MinValue, -1, 0, 1, int.MaxValue };
  54. static string [] string_values = new string [] { null, string.Empty, "a", "a longer string value", new string ('z', 1024) };
  55. static MaskedTextResultHint [] hint_values = new MaskedTextResultHint [] { MaskedTextResultHint.AlphanumericCharacterExpected, MaskedTextResultHint.AsciiCharacterExpected, MaskedTextResultHint.CharacterEscaped, MaskedTextResultHint.DigitExpected, MaskedTextResultHint.InvalidInput, MaskedTextResultHint.LetterExpected, MaskedTextResultHint.NoEffect, MaskedTextResultHint.NonEditPosition, MaskedTextResultHint.PositionOutOfRange, MaskedTextResultHint.PromptCharNotAllowed, MaskedTextResultHint.SideEffect, MaskedTextResultHint.SignedDigitExpected, MaskedTextResultHint.Success, MaskedTextResultHint.UnavailableEditPosition, MaskedTextResultHint.Unknown, (MaskedTextResultHint)(-1) };
  56. static CultureInfo [] culture_infos = new CultureInfo [] { null, CultureInfo.CurrentCulture, CultureInfo.InvariantCulture, CultureInfo.GetCultureInfo ("es-ES") };
  57. static object [] object_values = new object [] { "a", 1 };
  58. static Type type_Mono;
  59. static Type type_MS;
  60. static Type type_Hint_Mono;
  61. static Type type_Hint_MS;
  62. static Type type = typeof (MaskedTextProvider);
  63. static ConstructorInfo [] ctors = type.GetConstructors ();
  64. static MethodInfo [] methods = type.GetMethods ();
  65. static PropertyInfo [] props = type.GetProperties ();
  66. static List<ConstructorInfo> ok_constructors = new List<ConstructorInfo> ();
  67. static List<string> ok_constructors_statements = new List<string> ();
  68. static List<object []> ok_constructors_args = new List<object []> ();
  69. static char [] [] add_char_test_values = new char [] [] {
  70. new char [] {char.MinValue, char.MaxValue, 'A', '1', '+', '*', '8', '?', '@', 'A', 'Z', 'ñ' },
  71. new char [] {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' },
  72. new char [] {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'},
  73. // Some randomly generated characters.
  74. new char [] {'\x26CC', '\xFE68', '\xB6D4', '\x8D66', '\xE776', '\x786F', '\x78E9', '\x12E4', '\x1B02', '\xFFC2', '\x5846', '\xF686', '\x438B', '\x2DE2'},
  75. new char [] {'\x5B83', '\xC320', '\x570', '\xE07A', '\xD42D', '\xF21C', '\xEA4', '\x1113', '\x2851', '\x2926', '\x706D', '\xD59E', '\x8CCD', '\xC5DF', '\x7223', '\x7F75'},
  76. new char [] {'\xC5E6', '\x5FE2', '\x61C0', '\xAB57', '\x8C1', '\x50D0', '\xCE1B', '\xABBF', '\xB7C7', '\xDB6F', '\x2DC3', '\xCF99'},
  77. new char [] {'\x89A1', '\xB987', '\xD18D', '\x727E', '\x35BE', '\x19EF', '\x6D02', '\xF4A5', '\x79F4', '\xC7A0', '\x1827', '\xED54', '\x8E82', '\x643F', '\x7709', '\xA2D0', '\xEC1B', '\x4D04'},
  78. new char [] {'\x804C', '\xB3AA', '\x309F', '\xE3A8', '\xCC22', '\x217C', '\x52C1', '\x7250', '\x3754', '\x34BB', '\x1C65', '\x16AC', '\xE0E1'},
  79. new char [] {'\x4088', '\x9F85', '\xB6E5', '\x411', '\x1A4F'},
  80. new char [] {'\x5833', '\x1273', '\xAFF6', '\x4BF2', '\x9841', '\x4998', '\xBE02', '\x7A3E', '\xEC91', '\x5712', '\x8EE'},
  81. new char [] {'\x8E6A', '\x84E4', '\x4F4C', '\x341E', '\x5901', '\xD5DE', '\x56B', '\x5101', '\xE2FC', '\xA79F', '\x35AD', '\xBFE9', '\x5D8E', '\xB0F4', '\x3746'},
  82. new char [] {'\x4DFA', '\xC4BA', '\xC023', '\x9EBE', '\xD1CC', '\xBCE3', '\x50AB', '\x6DD9', '\x3B3', '\xE4AD', '\x4B66', '\x8289', '\x6379'},
  83. new char [] {'\x85BF', '\xE041', '\x2BCC', '\x50BA', '\x8842', '\x5BFD', '\xF22E', '\xC6A', '\x4684', '\xE106', '\xFEA6', '\xC94D', '\xAD24', '\xB093', '\xDCC6', '\xF00D'},
  84. new char [] {'\xE74D', '\x1252', '\x1228', '\x2C44', '\x27D6', '\x96EF', '\x6A2F', '\xF9DE', '\xD186', '\x3438', '\xE173', '\x306A', '\x7453', '\x8A77', '\x82E1', '\xED88', '\xA79', '\x21E0'},
  85. new char [] {'\x941C', '\xCD3', '\x28B1', '\xDB49', '\xB9AB', '\x418F'},
  86. new char [] {'\xDF1C', '\xA018', '\x87F', '\xFBF', '\xA018', '\x9112', '\x13A6', '\xF64A', '\x6418'},
  87. new char [] {'\x5150', '\xAC3E', '\x5DE8', '\x4952', '\xC19D', '\x56DC', '\xB6BB', '\x27C5'},
  88. new char [] {'\xDBFF'},
  89. new char [] {'\x568E', '\x7BC4', '\xDBC4', '\xA2AA', '\x8EB2', '\x875A', '\x5BF0', '\xE18F', '\xBE9B', '\x3709', '\x587C', '\xEAB4', '\xA9A0', '\xB7D2', '\xCA17', '\xF15F'},
  90. new char [] {'\x941F', '\x5060', '\x1CC4', '\x7E09', '\x265E', '\x12AA', '\x9C37', '\x5E3B', '\xC3F8', '\xC19', '\xD27F', '\xB5F7', '\x71F6', '\xB383', '\xA8F1'},
  91. new char [] {'\xAC05', '\x888D', '\x2453', '\x2CBA', '\x6D14', '\x1165', '\x9B8'},
  92. new char [] {'\x14BA', '\xA57D', '\x392E', '\xF8D3', '\xC189', '\xB447', '\x917F', '\xF786', '\x657C', '\xF4F3', '\x93A5', '\xC05A', '\xBF3B', '\x5427'},
  93. new char [] {'\x691A', '\x3F8C', '\x446F'},
  94. new char [] {'\x7B40', '\x8970', '\x2B97', '\x4CA5', '\x8385', '\xAF8B', '\x8524', '\xFD9A', '\x2F45', '\xA5C3', '\xC4A4', '\x54B2', '\x82BA', '\x46A7', '\x650D'},
  95. new char [] {'\x80E1', '\xD97B', '\xA363', '\x9CB1', '\xFB0', '\x7A9A', '\xDAF9', '\x507A'},
  96. new char [] {'\x1FDE', '\xE896', '\xA655', '\x57DE', '\x585D', '\xBB39', '\xED2D', '\x28A5', '\x46AA'},
  97. new char [] {'\x2E45', '\xE923', '\x58D8', '\xB5A9', '\x4948', '\x3C65', '\xB6AC', '\x623A', '\x51C2', '\xA0D8', '\xA041'},
  98. new char [] {'\x79B3'}
  99. };
  100. static int [] add_char_test_char_count = new int [] { 1, 4, 7, 9, 6, 4, 3, 2 };
  101. static string destination_file;
  102. static string [] [] add_string_test_values = new string [] [] {
  103. new string [] {"", "a", "abc", "`pasdf", "1297.1243,5132", "1", "€", "%", "$", "123", "AMKHJ"},
  104. new string [] {},
  105. // Some random data here too.
  106. new string [] {@"ꬡ鞱딅鷔疢삹﬊かꄶ椩쥀申ᗱ賵᠞ĕ릇Ā냲㰖챦蔖随暣酿盐㠫���", @"ꁀ⇽⭼⧻", @"❍婝꽦䝶Ꞁ鞈⇳鄉⾮쭬⠪+邶Ͳ䍇쟤쵾", @"절☋ġ乢౔ﻒ袍ὰ᨟õ䜬鷃䬸담斨", @"ꚸਠ릉ॲ꒎ꩲ曡鬷楔", @"ꝵ���틥���⹕巽���髴ł௻ꌑ䢤Ỳ砗ߔ逓ⶨ���䰖⬎칧", @"뷄㨞쐌ꭳᶖㇾ驀댫ꌀ蜍䝉䜹⢚ᣗ㿅焾᠀摥匚骼朎烥ⱶꊝ揹繟涎象", @"籧ী㙕᪗駱⺆絞", @"䞱壐솗㷙ノ삚杹쾫殳㐖욨筌ǒ嚵줹���综竸츅ᯠ䖜᚞孞撱㶈ფฃ⒠ꗔ䊸骢锡୨䇬曼꽍겥ﮧ", @"ﱿ꺴羪₭떾蹳㒂쏡⫽쁤꾊ɥľ⯐ጳ昹���꾶奶ꬊ䠎⣻饳ㆆ濣뿦᧫⳦荔飵톅洬엱揆껲꼔���䨡念"},
  107. new string [] {@"頽鏢���⺸綉䤔퍽ࡡ㉌ꌉΩ㞜帤萸ẏ璜퐨ᄑ鍾ⰵ楯⾹뺤䵁ɳ⨵", @"퍕པ녧抟闍Ķ鶣遌鄭爯탖奩竳", @"⹻概蹕︾֡⪺邅柅痹凱書⻍搩⃳訅䚡ꥇ쐰", @"鎵剂퓼懤峮蹃懹䀺㨔녂˅ľ唢뻫ﳑ", @"뎫殐饛죖Ⴍ⻕퉨㥺潙꾶訵뀡뛂޲髅ᝀ류鱙ꢳ䐥Ɂ葖᏿ꡖៜ떶Ⰸ拪쯐⊋铀䧏꧌ႄ署襫쑏㌏誅괚Ừ㎷秏똅觳奔ﬓ", @"㷡֓士吞뭕녪蕛ⁿ礞Ꙡ횏ꎈ贫卩䁥ٔ꘾ᑋ", @"跔楊ḭ霋傟騰跩묶ヵﱱ路᳸㯕弚భ瓾棫쭾맰횋筢Ꚍ♦疟莞", @"옍뀍ႉ㗰⑊츒隚⸮櫧뷨畫���ᖘ", @"ន䪴៝䜣ࠞ⭬ⓨ⦋꽙㨉쁿柵ꨒ珊粱੊曵䨭㙤���౮", @"뿀쨬鄇疒觔㪽悗ﰈ溸ﱭ旉㙙໒⫫", @"ഝ���骠謤䁇ﯧ揊昝睠녽悜図⬽ꎸ㞶揄쭠諴䶱", @"銋ꆘ죳덑쭐쐒ȫ玹擷凅麊姗殄鯄劽╰௬쏘晡⫪褋ታ褿ꔕ䍺墴⸒튔䍲鿷ḏ圁䰝", @"ꃸḊ賶゗龸揱磎ቨ徸숒ﴛ뾹ߴ㹔뽳윛謱ঀ輤惬죹฻蟕歝퐘ꄤↅ뇎聺˕ὧꊼ뇅ݥ绶鍁용웸ွ ⦇㷨ꟹ菁僀䤚", @"菾���㚿쯏䊝槣䀌唑纺ꣁ㑚还힩귩䆗海ꁑ攸㌳㛮䁽㏙₦쐹弄輙㝥", @"時Д᪜諾ೣ鶆���䦻㜅���㣙熹뉔<鉎㜟㢓༨箝ﱐ궳ᗦ嵒䎁", @"ᘙޖ䥚���ࢧ짿ᡸ꒭ᦾӚ쫅卜퓸썀쎇ⱞ셺蒙䁁䥘蹗贙삯翱믇軀뢎₣⼔甘꾑", @"㏯㎡⽯鍰帐椒䗓碐㉅淍믌ꚥѴῨ"},
  108. new string [] {@"Ø[zZL;_êù¡Ä0ÎXXZ", @"ÄÎo ÖVØ«´­Á¢RÂ@V", @"ðü<ªXq57°zoD¢ÈÞ%Ë<ïÐA¸Jw$¬9Ôläüö>3<'wÊ%¿MÚêg5(", @"rûJ©öHÞIP^WóÚtòáÒ""ÿF", @"dMÑiO-×ÛÌèd)ôI.zÇ", @"ZÿuâCUD+¢å\$Þ°]þ7]¸Þ", @"ÑÌüòÒVÚK\$fPÁuºÉ@ÌüÜFµúwkI_èiR´ÐTb4=èÉ¿Q0ö", @"z¦)ïäw@dBtÝïÂD/®/F­M\¸sñË®9E(ÅV}è<|t5Vw", @"Aíã¦b*1wƤRÆüî¬0FEq6ÎI lqØ_t7V×sÝÏÈÐE@Gå&0Ð`", @"\A¿¦µMO5${Ïu´3yÚ+_yM31÷^ÙM9öìÌ©'-Øãg`;´-N:e", @"åÍöã rÄc;]Orn¯N±îÚ¿¯Ç×""Á}GÓAìq", @"Q×x*ͱȶҶd;ÐK±îý®:ÕìÖ±âßu%ãzX9<<ï2iD¿Ùóïá22", @"T0Ä»G.èÍs¤rþÀmÂî#5ðïÝ;ÇHF7", @"µ"},
  109. new string [] {@"n­ýÖ3euj|!þbÄOp@¬ËióX+^QiHØK¿ÅYLâÐz­s", @"e÷#úE¡~Âá~-:P", @"%ºÂNÅþ", @"&ÙƧg-o^ZÝ2δc_óù", @"N~mi7¶S¸ÃlǸ¯ë¤LÂÊ'Vô", @"¸bjù3ßYQ)ùÄ7M¡ÆTÅñ&¨º¦7¡ÀWhBÜVX9è_;i¶&lÿ¶)", @"ÒÞ´®Â>¨·Ñâ\ôppKmÄ·êýN¦xùXd(æ§R¬@§ªÓÊwE", @"Y'ȱAðæ'>L\H¤ØrßÈ@)¶Ö:wQ=_ËõSbÆiJvÆçF»9&=Ïì", @"ùÕÜR讯¥.¸ðîÐaÛZ%Ö´mÈHö,Æt^üýrZ", @"Õ+ÿl@Ûú-A»È""ÞDÝYr×", @"PM|V.÷", @"=zugLòIBÂêDÑéi»©4zª«+ÂYØÊÿgò%Ýb{7=ÙqJ", @"ÖÑã]ì·?µ¿H:lOUßgYÜÞÑ", @"[]vÐ`Áì=WønPî(w£3äËík|?¢µÁYÈζ", @"[ýV¡KÙùí¶¤-hv´þõ¿oý´CHtÀ¥×ç¶zÑsRìäXÈ@À>ë`eäÍ(ãÚñ:"},
  110. new string [] {@"µüÇ1ðYLGðÿfëçVáÎòÃÇ", @"íNßpïTâr9Ç8ãnX6ÉÍùÞünJäißåß", @"ê9CÆÍéPjyèõmædÁÄÒâRyÒyÏpòÃäVDÿKÅÏ"},
  111. new string [] {@"ORüióíSDçwÞttyXñûNipá3iýúJÄN59è0Öy", @"û68UBnòÐLâòOVKYOæÌÎëÑjUìEâuFz", @"GtÝénäWÕÝWÀõiM7biQDIëwýÖâþ", @"dÓïØÉ6ÙìÊÎiò6ºÖjpÓÌyzpþèöñõxÔá4OõÝY"},
  112. new string [] {@"vóAÏÿð3", @"ÎmÊèòè8øî2òv9", @"WNæXÔÓudCµMÇ0é5ÞÝáJãU7i7LãÔÏêoìÂrÕÚáyòõîÛãî", @"LzPZÐoñÝjÙì", @"ºOôd31éZ8BÒÂyµÍnfSDzçv6ÖÅæÓwüWëËÃAAHyjïÌ", @"ÚBßxiEäÆLÀõ9mmHqÉ", @"µW2RMw", @"ôòùÖnïJDÒáKÌÃ5kZæªßÜÞ4ctÕzÚÄÈ", @"õaíiwËdìÚHMÒI2ßÔ2ã4ºSP", @"W252ªÜsºâSDèF", @"RæØwXÂrsuövªb3wÎâØuÑGúS5Ò7ÓBÛvöYGóYû", @"FòùßmwQùMPÿÆzø8û1éCÇÚrgµýîFÝZúªòmxåOYÄÇÆ2VÉpCë62", @"à", @"SþîzhmÎäìC3oBÌêQhã0s4hïOjÉïôÑ", @"ÝXRææO6Ì", @"ËtqïcµìVÿCÌ8Ä7ÀWGw5äpÊ0ËùÀûYé", @"ËiÜÔë1nëkfæÞÜ61ÝõÑÊîè8ËßÇýuÊWñâçú7yäX1sÐÔq9iÿ", @"ÙÃçÙüVQºÜÃÅãÏÙG"},
  113. new string [] {@"ú84myÅÜéNVØEÃÛmÅæEtQDî0Y3ònësîÑKêòtÇûËÐ", @"iÍäáóSnÇÍkµìÄBtu9zápÜäwiùkhã", @"àÖGÛõ7ÙcAÏÌ86Ïfj2zgïVÌÇ3ì85ÝèJÂ3gqÂôsëJC", @"ºcíJÖðrîoKUI73º2ºVÀ7äxOÂýùêöEÇTæ6ÉÊdÖVîüLÒ7tl", @"ahÀ3VüïpÙtWÜqÁlMûBÆNaMûzàQTÄ", @"ÇGÜwæ7õZè4ÇuÉQOPËlªÞüÒNMÞtDh", @"XÍîîgÙoLàÜÇÝ7ªÆrÒAbdæÍjuïöygBÌÜîÉDJÍÄé8æö"},
  114. new string [] {@"ü7ÀpöYÚJÕwOnqpW9", @"ÙÖaÆÎSÉþSÞjdr5çÈsXBÖÂMÎs0DËeGRºwÐâäh13væ", @"ÔäÓàVAñgcu3CöÛæÜzKYYòéKÿkmÐûQznõ7XAy"},
  115. new string [] {@"ñAÚäéÈÕúÇÅßûULÞxtKáâVÚùOÈâÄKÐ1õûàåpçòWÊêFÃèö0Fõh", @"nä6æE", @"qªèrYº5z6ÊkoiDäÓ0q", @"ävm6VzÖItXÈôÈéiÎiÑZHK0Ó1LK9Z", @"FUÿ", @"YÒàXÏIæAÜGPõµÝLkâÑñúðäF", @"x7ÝÅbçëVÔxííOÒ9Miî8é0bÔæE", @"µÕþ7öMTÔýtÁgÜÏswðiB6éýÁºnÊÊɵÁl8", @"ÒbÏïëèËßÏïÃÊmäø6ÎþïAI5çHü4oúßkéÆ8íùÎÓSÆ", @"ÊÐèüGÔÙyÁZaññÓÐØKØÁHÚoo", @"ÀLé9ÑÖtPASJòrWàcaÄóêõçXëeÃë84rGXmvxeNühTÃhV", @"sÌGqªûôôxYçÀërtÐÞçzÔºÁðûÛËÒw", @"WvjHùæÕßgßbÅOkþèÛäÂÕ", @"úðpjZÏÁÚYÈhÔrÇÑ", @"úðëäÌöÛµ34cpCsÝçìÀÄÑîtãªâã5ün"},
  116. new string [] {@"57gÊÍÁsEækPdyd9RòÒ3QNQF", @"rØUG", @"cüîTîaòouøåØöñÚvñäÕºßcýôbðºÑLbÀwµãçjè", @"ºçüÊ7òhÎnOâYö9àéX", @"eINõFÐãSû0oªPëÓÄxÿçyííCæÜp", @"âÎyuÕörxéiMi", @"0êqtNëÙáÿöøCWBÃPÜOÎåBÌÑÒÃ1yØîôSîýP6ýøGQûЪoÕsÍ", @"HIbÃïòzòKA7òq5CoÓwaÑAj99WbUÜãéÄ6rÐÕ", @"âDzoñÌÄTyYÔîÐÄUiVº6NFåêÂéÉÙþKÇÞ", @"ËcbÈnRtuÅVâogÆJwÊfeA06ÜtjfLäí74ÆzúmüÐä", @"Õ2FIðEaÊfªcþÓKgüt", @"ºnÁpõ", @"5ËÉóXÞmqrNá3xLÌYÇMÃÉAHkýïÝmÁÃYðjBCârærÄG", @"VdÏvMXçdúHYxëaeWÌàÄ3k", @"BÿPhÇùuòdãçwÕrC7pRÉTû9JÙyOVðËÌÞVuoædçIÎ9ùg", @"8ê", @"ýcàµRCÅyÄáÀöNïgÛIÞQåÉæKHøAÙBÍ9EWVºç3ÖÁXàÊWPmB"},
  117. new string [] {@"jîI", @"BºåfûÊkuÞCÿj7NÖE2PåÊù41päòá", @"kfÞåsø5ªòã4LÅ5lúnÞr5KhDuKÛXáYGïÀ", @"FNàãAJGüÞÃéntßÅSéÜaJátdçkEýrDÖpÙzEÅgöh7ûz", @"wÄÐÛOÚØÖÚÞ7XÚIÓúòõmh2Qñ4ÏtçWWámÜÎ5òÇðªUXèT", @"åLãZÉvg52ùBù2ýèAIÞhë6TýÅÙÂTºâÝVýÝòÛÝÕ", @"UpíD4Ç", @"ìéÇSõa4", @"úcçýúìÎ01ÔÕ", @"fuùìàLÉsßùµÊËIãôwjqéµÝLÉI", @"ÐÜÉÌaZuõYÛçì5ÑôÿããKNçVaQÀ1ÛSõÇÕu0VÃIVjVe3ÎZVæÈHÜT", @"UbÍPâopoHxâËAq", @"m", @"UÔÏÏÑhÝÜÃæuYRÎÕTºfxMJQ7ÓDªIJçúêÁxJÕvþçÿjÐbߺýQCEË", @"ÕAA0étiBÀKuñçµGÌ7wÅkÙyaDwAÆÍTµuÌåsq4PÀæE"},
  118. new string [] {@"9eúRÏóÊìÚÆw0W1Í5ÎwÁûñåàöáwábÍxåþSF", @"ÎIJwßfÛëWÃyFMájt6j8sòÝùÎuØ8qcÅI1Â6ØìþOíWÅÁGÞÀÛø", @"ì9ÈuÍGá", @"ü3aICoSîFùüóuÙJâëøwåzÒ8", @"KµµÉÁÆMîàZÚõÑÙlGcDOrqLÀRã6k2ÛPáÓKÔíìªöÝÄP", @"mBOdÁ5e989kónHØòzã9Gýûðn0", @"IqhqáFj5κcñïIàOdÂÙx5êåqïfxÌÚÀð", @"ôÂY7ÕNRÍ5ÆPMÐHàvÆÃÒCöIÊà1GêDP", @"QsI", @"ô7âyLIúÅjgCrð0ñQTúúIvnßÀDoóEÃqboHd8azÏ", @"æýxJº6YæiÈoÿ0ëªSuãß9ÁöiÉÉQÂaaSUPEGvOx", @"Õ", @"Znú3üð", @"FÄÃßõyOçøºñúOö0MBÒIgÆÞáÖAðßZÿÍS", @"ìQóÛR1yqòSìáÑîÀÎxJìhYúÌïêùwa", @"6GO6ÅÀc4aDÝX6joû1ÉÚ1úfuFB9ôÛuIøîhþZüÜBÐ93", @"LhCûAÀFõCßhNâBáýãEüìóüI7üÎÍeoÇàKX"},
  119. new string [] {@"iLµÃPOØêµ7åtT4µBí8ÐüGäõEÝu5NáSÓíu9oöãexrkýMîËdü", @"äpÜkRmÝñrªnÄ4gãÖäì27LÄçÄßJámuuðénøH3", @"ÚIhÖbþmæVÏíØÇlŵVçÂóµG2Ët2QëEúKÄøl1dBX9cVêpóT", @"7ÛbD1ÓUmJ"},
  120. new string [] {@"Á7yÿ9eôðüxNDþÁÒoÌèE", @"ÌâñBTvÜIZØJÿOg3Åøc0ÌÇßÌÒªeõÐóÊúÃXeúÌDÄãpü", @"8xufMÍ5INÒFÿÙyYïnÖø2ÜçÉNúÕìßìu", @"jûNTPµhúgÞqèµÍQÜ", @"ÚRY4ïkägkùHøXDÌݺõzá9bÏDÅXïÐÍ4ZgVS5î1Çs", @"LYòYíaBEhnGâÛçå", @"ÙHIÀþÀãG", @"KHÂáïzÞGÊqªÄ6Òf7óatþÿÙÊbxgÝoGLc", @"oóÓËqÑloÐâ3ZùÛÚfSÄÇn4ñðÛôÑQËÉpwOÁÅÓ2ä", @"b", @"37ZÄàüþLfyÙÆ3ÃøÁfÄØÑÿR9wÕæßèYqÓaêÛJNïg", @"fönîí9âsðÂÝÛO1FÀÃzyes09hÏÌóÜ6", @"jr9EÐàQßWëÅÜjs", @"QôyFÌYoÁig03lKNfOgTøcåÑiá2ÄGÍÒîãòÑsiÔñ", @"ÈþâWJ", @"XiULjBOªÈaqgwÆj7ïQk", @"ÉzaÞül7óKõØúëbã0INëhCÈþ", @"ÿfwúxqbÖMrñaËB1õpqÔåëíæ", @"ÅrÍxhIÂkVƪ9o5Ôÿ6ëÄ8À"},
  121. new string [] {@"ÎÎY9È", @"BDiPäÿðrö6zQøÎPBm", @"ÃYºÆsíDæùÇåuZ0NÆ1îSÀìFiÄ", @"", @"IXûÁñvFWÜÐÙòiWùæøÒldJïvç4ÈVïÈùp", @"øËCÇXS", @"ïPRàÌûÃyFüåðÊwuwpÁHþ2o3lHùgÿâ6ØSûNϪM3ËçÛpè7ÛùÚÚ", @"Oõ1w6N0é4êðMxtþô", @"3VÂåðqGOÈUúðcªFxYmeÏÚùÜÔ8ÁµuÎFBòÁöAªøóKWZöV", @"rbÌØÄçÒOõäøfxKÙðô8RsïYÇézÞüªyÄÂbâÌïù", @"dó1FøÍßEoûcAåÛÐ", @"yxèÕìzÕCÎãËãÈÎSdÍÆOßÐ3Ñ8îöZÅPªäpýokÀäòp5ÙMKþúªÙØR", @"ÚÀÞoe1TfV5Íê3írytÏÞÜéVsÔsSÀwÅeìFRòÿJñ3wOÄyïÏIeXÓ", @"eÅéµeJçdu3bÛBÇlùÃØjÛgôRÞ23jöÅÕÚIøë", @"gðoqç7µ", @"ouèVïFXey4û", @"rëÃÊQèÞÍÉÔxwªÿÙëJ8LÙZWÙìÓìúswòÅñVùý", @"LÒyÿØ7ÀºNÞçPÙbúfÜSíhcLóÙSsiýñÆJÁaï5Wn69ºA31eêÊø"},
  122. new string [] {@"ïÛRøæY0CXùPÝÃòåÁeáìÒRºêy", @"nrln1", @"îënOÑOànM7ætÂY1ãgäIÕöÙEÌÅÆSvCNòeFpÿÛÜðDûexmPFÅëvc"},
  123. new string [] {@"gÀÃhLbÓÕèíWÕXvBNÊâAÕlþ4ÈUQhîpìÕ", @"ôä7ÕË3ÿÒQÙËZDS", @"Iù1xMOlHèRîå", @"öÊVØVö9ÎÕfCUãñeHföDuxfõ6Ó8â4ÇõÙArhñöÈÕðÊF", @"GFïlÞÝjÚVhóØáBJ1ºxÑò1GÞÐ", @"êjnÞoÎPf6Çpû0", @"àñNÛðaTmcýßòÔgjÞNIÒÒeÄÓFªºÒYÂ3jÆìRÕLHÖØôØÊßÈ3", @"ÀôXõíæwßBlnÆ11vi2", @"SQþëªëyürZsúGgÂaëÄâÇÒ46UÉçúàVVÅçIìµèÌmÞ", @"þc1ÏùåñmQÝ8ÏMÅiqõídÇHÔÚëÿÂãmdÛm", @"ÙìR", @"7xóuÝëèbÂÊMÛ4LêÊÑjìÃ", @"þÓýöî2ïAðmÄÅkTªrgüVïiÔïXEûáHþõñóòJQ", @"Æ"},
  124. new string [] {@"lyQYûoRÔUaqcODúîu8äÆZï4LôUÝrºPâéT2ÖåÀKÍõÙéJÞpæ", @"ÀÕpnóÀOÁªIg0QgOèÐL5îv8ÀfÙFNìW"},
  125. new string [] {@"ÃnjoÍèËkuwYÝ7ç2csòçDûªÆGìö2m", @"ïgíÂuµ7ÕPJµBuéÑL97åoÒ7ÐTtPÎÊt1hñªÿËTRíëÿïîLÃÍFKCÇ", @"ÄÚÏÞlùÒlêtaßzÊäªAÇÛN", @"pRñQáQÎÃûL5ùÓX2µÁûDPoæÝwwHï", @"øuSTúÌ", @"ùëÿCrËoTDìöhìßEÚwúJ9ÒLWÅØÝnª", @"ÏjÁécæJã8ùûÏ", @"ÈË9ëèµpåÚAmB2VEUZàtøFzâÔíúx", @"ÍÌëXûõAøZVËÚMü2PWÝÌÇUÃëfùÁã", @"oKȺgµKغÖCyCË29Á7ÔùHÄiýÉêÝÇLJý6æªÌËæÝbku", @"EXµÚIªHúÀXKªÍdWIõÒLRíJÒôÊqÁ9ªñbþWßþx", @"Zpàø6ÆoæûÃu44tÛhdsnjÉeiDÖyóøªÑãÌ0Ø3üA1íãÌ", @"hÆåÅáúÅ", @"ðÒXR4Vd"},
  126. new string [] {@"iIZm", @"ÝÂÄÃnîg"},
  127. new string [] {@"éik2DQHØüwaÀÆÄ", @"uvÜõWDémÐfQíììåJBïüáõEøaëLáÿÁÏþÖòÑ", @"àêÂãµýÐgýâ", @"7º", @"jsýCkzaFAAÝGDmÛÿôåô6lìª8ê", @"µÎÙÎÊZAvýcóAyáYaý1ul9ÔDqZéÁÎm3µE", @"eadùjFLÑGèÜFoàYçÑaóÝÇDÄ2Iü0µTS4QñÀyuÝzÇÛOÃpvw24ä", @"ÑÆNAÑîQXïø", @"ácGQãC", @"3oîB7téCxÔõðð6ÝxäíLÒËu5jÊNgïL22Å"},
  128. new string [] {}
  129. };
  130. static object [] state_methods_values = new object [] {
  131. /*new object [] {
  132. "here goes name of method", new object [] {"arg1", 2, "etc", "must match type exactly"}
  133. },*/
  134. new object [] {
  135. new object [] {"Add", new object [] {"a"}},
  136. new object [] {"Add", new object [] {'a'}},
  137. new object [] {"Add", new object [] {'a', 1, MS_System_ComponentModel.MaskedTextResultHint.Unknown}}
  138. },
  139. new object [] {
  140. new object [] {"Add", new object [] {"a"}},
  141. new object [] {"Remove", new object [] {}},
  142. new object [] {"InsertAt", new object [] {'a', 1}}
  143. },
  144. new object [] {
  145. new object [] {"Add", new object [] {"1"}},
  146. new object [] {"Add", new object [] {"2"}},
  147. new object [] {"InsertAt", new object [] {'3', 7}},
  148. new object [] {"InsertAt", new object [] {'4', 4}}
  149. },
  150. new object [] {
  151. new object [] {"InsertAt", new object [] {'z', 0}},
  152. new object [] {"InsertAt", new object [] {'z', 1}},
  153. new object [] {"InsertAt", new object [] {'z', 2}},
  154. },
  155. new object [] {
  156. new object [] {"InsertAt", new object [] {'z', 0}},
  157. new object [] {"InsertAt", new object [] {'z', 2}},
  158. }
  159. };
  160. /*static string state_methods = new string [] {
  161. "Add", // char, string, char+(out)int+(out)hint
  162. "Clear", // -, hint
  163. "InsertAt", // char+int, string+int, char+int+int+hint, string+int+int+hint
  164. "Remove", // -, int+hint
  165. "RemoveAt", // int, int+int, int+int+int+hint
  166. "Replace", // char+int, string+int, char+int+int+hint, string+int+int+hint, char+int+int+int+hint, string+int+int+int+hint
  167. "Set" // string, string+int+hint
  168. };
  169. */
  170. //static public void char_gen ()
  171. //{
  172. // string result = "";
  173. // Random rnd = new Random ();
  174. // result += "static char [][] add_char_test_values2 = new char [][] {" + Environment.NewLine;
  175. // for (int i = 0; i < 25; i++) {
  176. // result += "\tnew char [] {";
  177. // int b = rnd.Next (0, 20);
  178. // for (int j = 0; j < b; j++) {
  179. // int a = rnd.Next (ushort.MinValue, ushort.MaxValue + 1);
  180. // char c = Convert.ToChar (a);
  181. // result += GetStringValue (c);
  182. // if (j < b - 1)
  183. // result += ", ";
  184. // else
  185. // result += "}";
  186. // }
  187. // if (i < 24)
  188. // result += ", ";
  189. // else
  190. // result += Environment.NewLine + "}";
  191. // result += Environment.NewLine;
  192. // }
  193. // MS_System.System.Diagnostics.Debug.WriteLine (result);
  194. //}
  195. //static public void str_gen ()
  196. //{
  197. // string result = "";
  198. // Random rnd = new Random ();
  199. // result += "static string [][] add_string_test_values2 = new string [][] {" + Environment.NewLine;
  200. // for (int i = 0; i < 25; i++) {
  201. // result += "\tnew string [] {";
  202. // int b = rnd.Next (0, 20);
  203. // for (int j = 0; j < b; j++) {
  204. // int c = rnd.Next (0, 50);
  205. // string str = "";
  206. // for (int k = 0; k < c; k++) {
  207. // int a;
  208. // if (i < 2) {
  209. // a = rnd.Next (ushort.MinValue, ushort.MaxValue + 1);
  210. // } else if (i < 4) {
  211. // do {
  212. // a = rnd.Next (ushort.MinValue, 256);
  213. // } while (!MS_System_ComponentModel.MaskedTextProvider.IsValidInputChar (Convert.ToChar (a)));
  214. // } else {
  215. // do {
  216. // a = rnd.Next (ushort.MinValue, 256);
  217. // } while (!char.IsLetterOrDigit (Convert.ToChar (a)));
  218. // }
  219. // str += Convert.ToChar (a).ToString ();
  220. // }
  221. // result += "@\"" + str.Replace ("\"", "\"\"") + "\"";
  222. // if (j < b - 1)
  223. // result += ", ";
  224. // else
  225. // result += "}";
  226. // }
  227. // if (b == 0)
  228. // result += "}";
  229. // if (i < 24)
  230. // result += ", ";
  231. // else
  232. // result += Environment.NewLine + "};";
  233. // result += Environment.NewLine;
  234. // }
  235. // MS_System.System.Diagnostics.Debug.WriteLine (result);
  236. //}
  237. static int Test ()
  238. {
  239. MaskedTextProviderTest tests = new MaskedTextProviderTest ();
  240. tests.Replace_string_int_int_int_MaskedTextResultHintTest00137 ();
  241. return 0;
  242. }
  243. static int Main (string [] args)
  244. {
  245. //return Test ();
  246. if (typeof (int).GetType ().Name != "RuntimeType") {
  247. Console.WriteLine ("This must be run on the MS runtime.");
  248. return 1;
  249. }
  250. string file = "";
  251. // Check that this path is correct before removing the comment.
  252. // file = "..\\..\\Test\\System.ComponentModel\\MaskedTextProviderTestGenerated.cs";
  253. // file = @"Z:\mono\head\mcs\class\System\Test\System.ComponentModel\MaskedTextProviderTestGenerated.cs";
  254. destination_file = file;
  255. if (destination_file == "") {
  256. Console.WriteLine ("You'll have to set the destination file. See source for instructions.");
  257. return 1;
  258. }
  259. using (StreamWriter stream = new StreamWriter (new FileStream (file, FileMode.Create, FileAccess.Write), Encoding.Unicode)) {
  260. writer = stream;
  261. WriteFileHeader ();
  262. GenerateAdd_char_int_MaskedTextResultHint_Test ();
  263. GenerateAdd_char_Test ();
  264. GenerateAdd_string_int_MaskedTextResultHint_Test ();
  265. GenerateAdd_string_Test ();
  266. GenerateClear_MaskedTextResultHint_Test ();
  267. GenerateClearTest ();
  268. GenerateCloneTest ();
  269. GenerateEditPositionsTest ();
  270. GenerateFindAssignedEditPositionFromTest ();
  271. GenerateFindAssignedEditPositionInRangeTest ();
  272. GenerateFindEditPositionFromTest ();
  273. GenerateFindEditPositionInRangeTest ();
  274. GenerateFindNonEditPositionFromTest ();
  275. GenerateFindNonEditPositionInRangeTest ();
  276. GenerateFindUnassignedEditPositionFromTest ();
  277. GenerateFindUnassignedEditPositionInRangeTest ();
  278. GenerateInsertAt_char_int_Test ();
  279. GenerateInsertAt_char_int_int_MaskedTextResultHintTest ();
  280. GenerateInsertAt_string_int_int_MaskedTextResultHintTest ();
  281. GenerateInsertAt_string_int_Test ();
  282. GenerateIsAvailablePositionTest ();
  283. GenerateIsEditPositionTest ();
  284. GenerateIsValidInputCharTest ();
  285. GenerateIsValidMaskCharTest ();
  286. GenerateIsValidPasswordCharTest ();
  287. GenerateItemTest ();
  288. GenerateRemoveTest ();
  289. GenerateRemove_int_MaskedTextResultHintTest ();
  290. GenerateRemoveAt_int_int_int_MaskedTextResultHintTest ();
  291. GenerateRemoveAt_int_int_Test ();
  292. GenerateRemoveAt_int_Test ();
  293. GenerateReplace_char_int_int_int_MaskedTextResultHintTest ();
  294. GenerateReplace_char_int_int_MaskedTextResultHintTest ();
  295. GenerateReplace_char_int_Test ();
  296. GenerateReplace_string_int_int_int_MaskedTextResultHintTest ();
  297. GenerateReplace_string_int_int_MaskedTextResultHintTest ();
  298. GenerateReplace_string_int_Test ();
  299. GenerateSet_string_int_MaskedTextResultHintTest ();
  300. GenerateSet_string_Test ();
  301. GenerateToDisplayStringTest ();
  302. GenerateToString_bool_bool_bool_int_int_Test ();
  303. GenerateToString_bool_bool_int_int_Test ();
  304. GenerateToString_bool_bool_Test ();
  305. GenerateToString_bool_int_int_Test ();
  306. GenerateToString_bool_Test ();
  307. GenerateToString_int_int_Test ();
  308. GenerateToStringTest ();
  309. GenerateVerifyCharTest ();
  310. GenerateVerifyEscapeCharTest ();
  311. GenerateVerifyString_string_int_MaskedTextResultHintTest ();
  312. GenerateVerifyString_string_Test ();
  313. WriteFileFooter ();
  314. }
  315. Console.WriteLine ("Press any key to exit.");
  316. Console.Read ();
  317. return 0;
  318. }
  319. static void GenerateAdd_char_Test ()
  320. {
  321. string Name = "mtp";
  322. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  323. int counter = 0;
  324. bool result;
  325. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  326. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int testPosition;", "MaskedTextResultHint resultHint;", "bool result;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  327. foreach (string mask in test_masks) {
  328. foreach (char [] chars in add_char_test_values) {
  329. foreach (char c in chars) {
  330. bool more_states = true;
  331. int stateindex = 0;
  332. do {
  333. object [] arguments;
  334. arguments = new object [] { c };
  335. if (Compare ("Add", mask, ref stateindex, arguments, ref more_states)) {
  336. continue;
  337. }
  338. WriteTestStart ();
  339. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  340. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  341. more_states = CreateState (mtp, stateindex);
  342. stateindex++;
  343. result = mtp.Add (c);
  344. WriteLine (string.Format ("result = mtp.Add ('\\x{0:X4}');", (int)c) + (c != char.MinValue ? "/* " + c.ToString () + " */" : "/* null */"));
  345. WriteLine ("Assert.AreEqual ({0}, result, \"{1}#{2}\");", GetStringValue (result), TestName, (counter++).ToString ());
  346. WriteAssertProperties (mtp, Name, TestName, ref counter);
  347. WriteTestEnd ();
  348. } while (more_states);
  349. }
  350. }
  351. }
  352. WriteTestFooter ();
  353. }
  354. static void GenerateAdd_char_int_MaskedTextResultHint_Test ()
  355. {
  356. string Name = "mtp";
  357. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  358. int counter = 0;
  359. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int testPosition;", "MaskedTextResultHint resultHint;", "bool result;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  360. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  361. int testPosition = 0;
  362. MS_System_ComponentModel.MaskedTextResultHint resultHint = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  363. bool result;
  364. foreach (string mask in test_masks) {
  365. foreach (char [] chars in add_char_test_values) {
  366. foreach (char c in chars) {
  367. bool more_states = true;
  368. int stateindex = 0;
  369. do {
  370. object [] arguments;
  371. arguments = new object [] { c, testPosition, resultHint };
  372. if (Compare ("Add", mask, ref stateindex, arguments, ref more_states)) {
  373. continue;
  374. }
  375. WriteTestStart ();
  376. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  377. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  378. more_states = CreateState (mtp, stateindex);
  379. stateindex++;
  380. result = mtp.Add (c, out testPosition, out resultHint);
  381. WriteLine (string.Format ("result = mtp.Add ('\\x{0:X4}', out testPosition, out resultHint);", (int)c) + (c != char.MinValue ? "/* " + c.ToString () + " */" : "/* null */"));
  382. WriteLine ("Assert.AreEqual ({0}, result, \"{1}#{2}\");", GetStringValue (result), TestName, (counter++).ToString ());
  383. WriteLine ("Assert.AreEqual ({0}, resultHint, \"{1}#{2}\");", GetStringValue (resultHint), TestName, (counter++).ToString ());
  384. WriteLine ("Assert.AreEqual ({0}, testPosition, \"{1}#{2}\");", GetStringValue (testPosition), TestName, (counter++).ToString ());
  385. WriteAssertProperties (mtp, Name, TestName, ref counter);
  386. WriteTestEnd ();
  387. } while (more_states);
  388. }
  389. }
  390. }
  391. WriteTestFooter ();
  392. }
  393. static void GenerateAdd_string_Test ()
  394. {
  395. string Name = "mtp";
  396. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  397. int counter = 0;
  398. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int testPosition;", "MaskedTextResultHint resultHint;", "bool result;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  399. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  400. bool result;
  401. foreach (string mask in test_masks) {
  402. foreach (string [] strings in add_string_test_values) {
  403. foreach (string s in strings) {
  404. bool more_states = true;
  405. int stateindex = 0;
  406. do {
  407. object [] arguments;
  408. arguments = new object [] { s };
  409. if (Compare ("Add", mask, ref stateindex, arguments, ref more_states)) {
  410. continue;
  411. }
  412. WriteTestStart ();
  413. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  414. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  415. more_states = CreateState (mtp, stateindex);
  416. stateindex++;
  417. result = mtp.Add (s);
  418. WriteLineNonFormat ("result = mtp.Add (@\"" + s.Replace ("\"", "\"\"") + "\");");
  419. WriteLine ("Assert.AreEqual ({0}, result, \"{1}#{2}\");", GetStringValue (result), TestName, (counter++).ToString ());
  420. WriteAssertProperties (mtp, Name, TestName, ref counter);
  421. WriteTestEnd ();
  422. } while (more_states);
  423. }
  424. }
  425. }
  426. WriteTestFooter ();
  427. }
  428. static void GenerateAdd_string_int_MaskedTextResultHint_Test ()
  429. {
  430. string Name = "mtp";
  431. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  432. int counter = 0;
  433. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int testPosition;", "MaskedTextResultHint resultHint;", "bool result;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  434. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  435. int testPosition = 0;
  436. MS_System_ComponentModel.MaskedTextResultHint resultHint = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  437. bool result;
  438. foreach (string mask in test_masks) {
  439. foreach (string [] strings in add_string_test_values) {
  440. foreach (string s in strings) {
  441. bool more_states = true;
  442. int stateindex = 0;
  443. do {
  444. object [] arguments;
  445. arguments = new object [] { s, testPosition, resultHint };
  446. if (Compare ("Add", mask, ref stateindex, arguments, ref more_states)) {
  447. continue;
  448. }
  449. WriteTestStart ();
  450. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  451. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  452. more_states = CreateState (mtp, stateindex);
  453. stateindex++;
  454. result = mtp.Add (s, out testPosition, out resultHint);
  455. WriteLineNonFormat ("result = mtp.Add (@\"" + s.Replace ("\"", "\"\"") + "\", out testPosition, out resultHint);");
  456. WriteLine ("Assert.AreEqual ({0}, result, \"{1}#{2}\");", GetStringValue (result), TestName, (counter++).ToString ());
  457. WriteLine ("Assert.AreEqual ({0}, resultHint, \"{1}#{2}\");", GetStringValue (resultHint), TestName, (counter++).ToString ());
  458. WriteLine ("Assert.AreEqual ({0}, testPosition, \"{1}#{2}\");", GetStringValue (testPosition), TestName, (counter++).ToString ());
  459. WriteAssertProperties (mtp, Name, TestName, ref counter);
  460. WriteLine ("");
  461. WriteTestEnd ();
  462. } while (more_states);
  463. }
  464. }
  465. }
  466. WriteTestFooter ();
  467. }
  468. static void GenerateClearTest ()
  469. {
  470. GenerateClear_MaskedTextResultHint_Test (false);
  471. }
  472. static void GenerateClear_MaskedTextResultHint_Test ()
  473. {
  474. GenerateClear_MaskedTextResultHint_Test (true);
  475. }
  476. static void GenerateClear_MaskedTextResultHint_Test (bool with_result)
  477. {
  478. string Name = "mtp";
  479. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  480. int counter = 0;
  481. if (!with_result) {
  482. TestName = TestName.Replace ("_MaskedTextResultHint_", "");
  483. }
  484. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int testPosition;", "MaskedTextResultHint resultHint;", "bool result;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  485. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  486. MS_System_ComponentModel.MaskedTextResultHint resultHint = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  487. foreach (string mask in test_masks) {
  488. bool more_states = true;
  489. int stateindex = 0;
  490. do {
  491. object [] arguments;
  492. arguments = new object [] { resultHint };
  493. if (Compare ("Clear", mask, ref stateindex, arguments, ref more_states)) {
  494. continue;
  495. }
  496. WriteTestStart ();
  497. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  498. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  499. more_states = CreateState (mtp, stateindex);
  500. stateindex++;
  501. if (with_result) {
  502. mtp.Clear (out resultHint);
  503. WriteLine ("mtp.Clear (out resultHint);");
  504. WriteLine ("Assert.AreEqual ({0}, resultHint, \"{1}#{2}\");", GetStringValue (resultHint), TestName, (counter++).ToString ());
  505. } else {
  506. mtp.Clear ();
  507. WriteLine ("mtp.Clear ();");
  508. }
  509. WriteAssertProperties (mtp, Name, TestName, ref counter);
  510. WriteTestEnd ();
  511. } while (more_states);
  512. }
  513. WriteTestFooter ();
  514. }
  515. static void GenerateCloneTest ()
  516. {
  517. ////string Name = "mtp";
  518. //string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  519. ////int counter = 0;
  520. //WriteTestHeader (TestName);
  521. //WriteLine ("");
  522. //WriteTestStart ();
  523. //WriteLine ("Assert.Ignore (\"Only manual tests here for the moment.\");");
  524. //WriteTestEnd ();
  525. //WriteTestFooter ();
  526. }
  527. static void GenerateEditPositionsTest ()
  528. {
  529. int counter = 0;
  530. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  531. string TestName = "EditPositionsTestGenerated";
  532. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int testPosition;", "MaskedTextResultHint resultHint;", "bool result;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  533. WriteLine ("");
  534. foreach (string mask in test_masks) {
  535. int stateindex = 0;
  536. bool more_states = true;
  537. do {
  538. object [] arguments;
  539. arguments = new object [] {};
  540. if (Compare ("EditPositions", mask, ref stateindex, arguments, ref more_states)) {
  541. continue;
  542. }
  543. WriteTestStart ();
  544. string new_statement = "mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");";
  545. more_states = CreateState (mtp, stateindex);
  546. stateindex++;
  547. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  548. string result = MaskedTextProviderTest.join (mtp.EditPositions, ";");
  549. WriteLine ("");
  550. WriteLine (new_statement);
  551. WriteLine ("Assert.AreEqual (\"" + result + "\", MaskedTextProviderTest.join (mtp.EditPositions, \";\"), \"{0}#{1}\");", TestName, (counter++).ToString ());
  552. WriteTestEnd ();
  553. } while (more_states);
  554. }
  555. WriteTestFooter ();
  556. }
  557. static void GenerateFindFromTest (string methodName)
  558. {
  559. string Name = "mtp";
  560. string TestName = methodName + "Test";
  561. int counter = 0;
  562. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  563. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  564. foreach (string mask in test_masks) {
  565. foreach (bool value in new bool [] { true, false }) {
  566. for (int i = 0; i < mask.Length + 2; i++) {
  567. int stateindex = 0;
  568. bool more_states = true;
  569. do {
  570. object [] arguments;
  571. arguments = new object [] { i, value };
  572. if (Compare (methodName, mask, ref stateindex, arguments, ref more_states)) {
  573. continue;
  574. }
  575. WriteTestStart ();
  576. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  577. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  578. more_states = CreateState (mtp, stateindex);
  579. stateindex++;
  580. WriteLine ("Assert.AreEqual ({0}, mtp." + methodName + "({1}, {3}), \"#{2}\");", mtp.GetType ().InvokeMember (methodName, BindingFlags.Public | BindingFlags.Instance | BindingFlags.InvokeMethod, null, mtp.GetType (), arguments).ToString (), i.ToString (), (counter++).ToString (), value ? "true" : "false");
  581. WriteAssertProperties (mtp, Name, TestName, ref counter);
  582. WriteTestEnd ();
  583. } while (more_states);
  584. }
  585. }
  586. }
  587. WriteTestFooter ();
  588. }
  589. static void GenerateFindRangeTest (string methodName)
  590. {
  591. string Name = "mtp";
  592. string TestName = methodName + "Test";
  593. int counter = 0;
  594. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  595. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  596. foreach (string mask in test_masks) {
  597. foreach (bool value in new bool [] { true, false }) {
  598. for (int i = 0; i < mask.Length + 2; i++) {
  599. for (int k = 0; k < mask.Length + 2; k++) {
  600. int stateindex = 0;
  601. bool more_states = true;
  602. do {
  603. object [] arguments;
  604. arguments = new object [] { i, k, value };
  605. if (Compare (methodName, mask, ref stateindex, arguments, ref more_states)) {
  606. continue;
  607. }
  608. WriteTestStart ();
  609. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  610. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  611. more_states = CreateState (mtp, stateindex);
  612. stateindex++;
  613. WriteLine ("Assert.AreEqual ({0}, mtp." + methodName + " ({1}, {2}, {4}), \"#{3}\");", mtp.GetType ().InvokeMember (methodName, BindingFlags.Public | BindingFlags.Instance | BindingFlags.InvokeMethod, null, mtp.GetType (), arguments).ToString (), i.ToString (), k.ToString (), (counter++).ToString (), value ? "true" : "false");
  614. WriteAssertProperties (mtp, Name, TestName, ref counter);
  615. WriteTestEnd ();
  616. } while (more_states);
  617. }
  618. }
  619. }
  620. }
  621. WriteTestFooter ();
  622. }
  623. static void GenerateFindAssignedEditPositionFromTest ()
  624. {
  625. GenerateFindFromTest ("FindAssignedEditPositionFrom");
  626. }
  627. static void GenerateFindAssignedEditPositionInRangeTest ()
  628. {
  629. GenerateFindRangeTest ("FindAssignedEditPositionInRange");
  630. }
  631. static void GenerateFindEditPositionFromTest ()
  632. {
  633. GenerateFindFromTest ("FindEditPositionFrom");
  634. }
  635. static void GenerateFindEditPositionInRangeTest ()
  636. {
  637. GenerateFindRangeTest ("FindEditPositionInRange");
  638. }
  639. static void GenerateFindNonEditPositionFromTest ()
  640. {
  641. GenerateFindFromTest ("FindNonEditPositionFrom");
  642. }
  643. static void GenerateFindNonEditPositionInRangeTest ()
  644. {
  645. GenerateFindRangeTest ("FindNonEditPositionInRange");
  646. }
  647. static void GenerateFindUnassignedEditPositionFromTest ()
  648. {
  649. GenerateFindFromTest ("FindUnassignedEditPositionFrom");
  650. }
  651. static void GenerateFindUnassignedEditPositionInRangeTest ()
  652. {
  653. GenerateFindRangeTest ("FindUnassignedEditPositionInRange");
  654. }
  655. static void GenerateInsertAt_char_int_Test ()
  656. {
  657. string Name = "mtp";
  658. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  659. int counter = 0;
  660. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  661. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  662. foreach (string mask in test_masks) {
  663. foreach (char chr in char_values) {
  664. for (int i = 0; i < mask.Length; i++) {
  665. bool more_states = true;
  666. int stateindex = 0;
  667. do {
  668. object [] arguments;
  669. arguments = new object [] { chr, i };
  670. if (Compare ("InsertAt", mask, ref stateindex, arguments, ref more_states)) {
  671. continue;
  672. }
  673. WriteTestStart ();
  674. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  675. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  676. more_states = CreateState (mtp, stateindex);
  677. stateindex++;
  678. WriteLine ("Assert.AreEqual ({0}, mtp.InsertAt ({1}, {2}), \"#{3}\");", GetStringValue (mtp.InsertAt (chr, i)), GetStringValue (chr), i.ToString (), (counter++).ToString ());
  679. WriteAssertProperties (mtp, Name, TestName, ref counter);
  680. WriteTestEnd ();
  681. } while (more_states);
  682. }
  683. }
  684. }
  685. WriteTestFooter ();
  686. }
  687. static void GenerateInsertAt_string_int_Test ()
  688. {
  689. string Name = "mtp";
  690. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  691. int counter = 0;
  692. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  693. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  694. foreach (string mask in test_masks) {
  695. foreach (string str in string_values) {
  696. if (str == null)
  697. continue;
  698. for (int i = 0; i < mask.Length; i++) {
  699. bool more_states = true;
  700. int stateindex = 0;
  701. do {
  702. object [] arguments;
  703. arguments = new object [] { str, i };
  704. if (Compare ("InsertAt", mask, ref stateindex, arguments, ref more_states)) {
  705. continue;
  706. }
  707. WriteTestStart ();
  708. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  709. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  710. more_states = CreateState (mtp, stateindex);
  711. stateindex++;
  712. WriteLine ("Assert.AreEqual ({0}, mtp.InsertAt ({1}, {2}), \"#{3}\");", GetStringValue (mtp.InsertAt (str, i)), GetStringValue (str), i.ToString (), (counter++).ToString ());
  713. WriteAssertProperties (mtp, Name, TestName, ref counter);
  714. WriteTestEnd ();
  715. } while (more_states);
  716. }
  717. }
  718. }
  719. WriteTestFooter ();
  720. }
  721. static void GenerateInsertAt_char_int_int_MaskedTextResultHintTest ()
  722. {
  723. string Name = "mtp";
  724. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  725. int counter = 0;
  726. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  727. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  728. int Int32_out = 0;
  729. MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  730. foreach (string mask in test_masks) {
  731. foreach (char chr in char_values) {
  732. for (int i = 0; i < mask.Length; i++) {
  733. bool more_states = true;
  734. int stateindex = 0;
  735. do {
  736. object [] arguments;
  737. arguments = new object [] { chr, i, Int32_out, MaskedTextResultHint_out };
  738. if (Compare ("InsertAt", mask, ref stateindex, arguments, ref more_states)) {
  739. continue;
  740. }
  741. WriteTestStart ();
  742. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  743. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  744. more_states = CreateState (mtp, stateindex);
  745. stateindex++;
  746. WriteLine ("Assert.AreEqual ({0}, mtp.InsertAt ({1}, {2}, out Int32_out, out MaskedTextResultHint_out), \"#{3}\");",
  747. GetStringValue (mtp.InsertAt (chr, i, out Int32_out, out MaskedTextResultHint_out)), GetStringValue (chr), i.ToString (), (counter++).ToString ());
  748. WriteLine ("Assert.AreEqual ({0}, Int32_out, \"#{1}\");", GetStringValue (Int32_out), (counter++).ToString ());
  749. WriteLine ("Assert.AreEqual ({0}, MaskedTextResultHint_out, \"#{1}\");", GetStringValue (MaskedTextResultHint_out), (counter++).ToString ());
  750. WriteAssertProperties (mtp, Name, TestName, ref counter);
  751. WriteTestEnd ();
  752. } while (more_states);
  753. }
  754. }
  755. }
  756. WriteTestFooter ();
  757. }
  758. static void GenerateInsertAt_string_int_int_MaskedTextResultHintTest ()
  759. {
  760. string Name = "mtp";
  761. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  762. int counter = 0;
  763. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  764. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  765. int Int32_out = 0;
  766. MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  767. foreach (string mask in test_masks) {
  768. foreach (string str in string_values) {
  769. if (str == null)
  770. continue;
  771. for (int i = 0; i < mask.Length; i++) {
  772. bool more_states = true;
  773. int stateindex = 0;
  774. do {
  775. object [] arguments;
  776. arguments = new object [] { str, i, Int32_out, MaskedTextResultHint_out };
  777. if (Compare ("InsertAt", mask, ref stateindex, arguments, ref more_states)) {
  778. continue;
  779. }
  780. WriteTestStart ();
  781. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  782. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  783. more_states = CreateState (mtp, stateindex);
  784. stateindex++;
  785. WriteLine ("Assert.AreEqual ({0}, mtp.InsertAt ({1}, {2}, out Int32_out, out MaskedTextResultHint_out), \"#{3}\");",
  786. GetStringValue (mtp.InsertAt (str, i, out Int32_out, out MaskedTextResultHint_out)), GetStringValue (str), i.ToString (), (counter++).ToString ());
  787. WriteLine ("Assert.AreEqual ({0}, Int32_out, \"#{1}\");", GetStringValue (Int32_out), (counter++).ToString ());
  788. WriteLine ("Assert.AreEqual ({0}, MaskedTextResultHint_out, \"#{1}\");", GetStringValue (MaskedTextResultHint_out), (counter++).ToString ());
  789. WriteAssertProperties (mtp, Name, TestName, ref counter);
  790. WriteTestEnd ();
  791. } while (more_states);
  792. }
  793. }
  794. }
  795. WriteTestFooter ();
  796. }
  797. static void GenerateIsAvailablePositionTest ()
  798. {
  799. string Name = "mtp";
  800. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  801. int counter = 0;
  802. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  803. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  804. //int Int32_out = 0;
  805. //MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  806. foreach (string mask in test_masks) {
  807. for (int i = -1; i < mask.Length + 2; i++) {
  808. bool more_states = true;
  809. int stateindex = 0;
  810. do {
  811. object [] arguments;
  812. arguments = new object [] { i };
  813. if (Compare ("IsAvailablePosition", mask, ref stateindex, arguments, ref more_states)) {
  814. continue;
  815. }
  816. WriteTestStart ();
  817. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  818. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  819. more_states = CreateState (mtp, stateindex);
  820. stateindex++;
  821. WriteLine ("Assert.AreEqual ({0}, mtp.IsAvailablePosition ({1}), \"#{2}\");", GetStringValue (mtp.IsAvailablePosition (i)), i.ToString (), (counter++).ToString ());
  822. WriteAssertProperties (mtp, Name, TestName, ref counter);
  823. WriteTestEnd ();
  824. } while (more_states);
  825. }
  826. }
  827. WriteTestFooter ();
  828. }
  829. static void GenerateIsEditPositionTest ()
  830. {
  831. string Name = "mtp";
  832. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  833. int counter = 0;
  834. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  835. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  836. //int Int32_out = 0;
  837. //MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  838. foreach (string mask in test_masks) {
  839. for (int i = -1; i < mask.Length + 2; i++) {
  840. bool more_states = true;
  841. int stateindex = 0;
  842. do {
  843. object [] arguments;
  844. arguments = new object [] { i };
  845. if (Compare ("IsEditPosition", mask, ref stateindex, arguments, ref more_states)) {
  846. continue;
  847. }
  848. WriteTestStart ();
  849. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  850. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  851. more_states = CreateState (mtp, stateindex);
  852. stateindex++;
  853. WriteLine ("Assert.AreEqual ({0}, mtp.IsEditPosition ({1}), \"#{2}\");", GetStringValue (mtp.IsEditPosition (i)), i.ToString (), (counter++).ToString ());
  854. WriteAssertProperties (mtp, Name, TestName, ref counter);
  855. WriteTestEnd ();
  856. } while (more_states);
  857. }
  858. }
  859. WriteTestFooter ();
  860. }
  861. static void GenerateIsValidInputCharTest ()
  862. {
  863. string TestName = "IsValidInputCharTestGenerated";
  864. dont_write = true;
  865. doagain:
  866. WriteTestHeader (TestName);
  867. WriteTestStart ();
  868. int max = (int)char.MaxValue;
  869. BitArray bits = new BitArray (max);
  870. for (int i = 0; i < max; i++) {
  871. bool result_MS = MS_System_ComponentModel.MaskedTextProvider.IsValidInputChar ((char)i);
  872. bool result_Mono = MaskedTextProvider.IsValidInputChar ((char) i);
  873. if (dont_write && result_MS != result_Mono) {
  874. dont_write = false;
  875. goto doagain;
  876. }
  877. bits.Set (i, result_MS);
  878. }
  879. StringBuilder bit_array = new StringBuilder ();
  880. bit_array.AppendLine ("int [] answers;");
  881. bit_array.AppendLine (tabs + "unchecked {");
  882. bit_array.Append (tabs + "answers = new int [] {");
  883. int [] numbers = new int [max / 32 + 1];
  884. bits.CopyTo (numbers, 0);
  885. for (int i = 0; i < numbers.Length; i++) {
  886. if (i % 8 == 0) {
  887. bit_array.AppendLine ("");
  888. bit_array.Append (tabs + "\t");
  889. }
  890. bit_array.Append (String.Format ("(int) 0x{0:X8}", numbers [i]));
  891. if (i != numbers.Length - 1)
  892. bit_array.Append (", ");
  893. }
  894. bit_array.AppendLine ("");
  895. bit_array.AppendLine (tabs + "};");
  896. bit_array.AppendLine (tabs + "};");
  897. WriteLineNonFormat (bit_array.ToString ());
  898. WriteLine ("BitArray bits = new BitArray (answers);");
  899. WriteLine ("for (int i = 0; i < (int) char.MaxValue; i++)");
  900. WriteLine ("\tAssert.AreEqual (bits.Get (i), MaskedTextProvider.IsValidInputChar ((char) i), \"{0}#\" + i.ToString ());", TestName);
  901. WriteTestEnd ();
  902. WriteTestFooter ();
  903. }
  904. static void GenerateIsValidMaskCharTest ()
  905. {
  906. string TestName = "IsValidMaskCharTestGenerated";
  907. dont_write = true;
  908. doagain:
  909. WriteTestHeader (TestName);
  910. WriteTestStart ();
  911. int max = (int)char.MaxValue;
  912. BitArray bits = new BitArray (max);
  913. for (int i = 0; i < max; i++) {
  914. bool result_MS = MS_System_ComponentModel.MaskedTextProvider.IsValidMaskChar ((char)i);
  915. bool result_Mono = MaskedTextProvider.IsValidMaskChar ((char)i);
  916. if (dont_write && result_MS != result_Mono) {
  917. dont_write = false;
  918. goto doagain;
  919. }
  920. bits.Set (i, result_MS);
  921. }
  922. StringBuilder bit_array = new StringBuilder ();
  923. bit_array.AppendLine ("int [] answers;");
  924. bit_array.AppendLine (tabs + "unchecked {");
  925. bit_array.Append (tabs + "answers = new int [] {");
  926. int [] numbers = new int [max / 32 + 1];
  927. bits.CopyTo (numbers, 0);
  928. for (int i = 0; i < numbers.Length; i++) {
  929. if (i % 8 == 0) {
  930. bit_array.AppendLine ("");
  931. bit_array.Append (tabs + "\t");
  932. }
  933. bit_array.Append (String.Format ("(int) 0x{0:X8}", numbers [i]));
  934. if (i != numbers.Length - 1)
  935. bit_array.Append (", ");
  936. }
  937. bit_array.AppendLine ("");
  938. bit_array.AppendLine (tabs + "};");
  939. bit_array.AppendLine (tabs + "};");
  940. WriteLineNonFormat (bit_array.ToString ());
  941. WriteLine ("BitArray bits = new BitArray (answers);");
  942. WriteLine ("for (int i = 0; i < (int) char.MaxValue; i++)");
  943. WriteLine ("\tAssert.AreEqual (bits.Get (i), MaskedTextProvider.IsValidMaskChar ((char) i), \"{0}#\" + i.ToString ());", TestName);
  944. WriteTestEnd ();
  945. WriteTestFooter ();
  946. }
  947. static void GenerateIsValidPasswordCharTest ()
  948. {
  949. string TestName = "IsValidPasswordCharGenerated";
  950. dont_write = true;
  951. doagain:
  952. WriteTestHeader (TestName);
  953. WriteTestStart ();
  954. int max = (int)char.MaxValue;
  955. BitArray bits = new BitArray (max);
  956. for (int i = 0; i < max; i++) {
  957. bool result_MS = MS_System_ComponentModel.MaskedTextProvider.IsValidPasswordChar ((char)i);
  958. bool result_Mono = MaskedTextProvider.IsValidPasswordChar ((char)i);
  959. if (dont_write && (result_MS != result_Mono)) {
  960. dont_write = false;
  961. goto doagain;
  962. }
  963. bits.Set (i, MS_System_ComponentModel.MaskedTextProvider.IsValidPasswordChar ((char)i));
  964. }
  965. StringBuilder bit_array = new StringBuilder ();
  966. bit_array.AppendLine ("int [] answers;");
  967. bit_array.AppendLine (tabs + "unchecked {");
  968. bit_array.Append (tabs + "answers = new int [] {");
  969. int [] numbers = new int [max / 32 + 1];
  970. bits.CopyTo (numbers, 0);
  971. for (int i = 0; i < numbers.Length; i++) {
  972. if (i % 8 == 0) {
  973. bit_array.AppendLine ("");
  974. bit_array.Append (tabs + "\t");
  975. }
  976. bit_array.Append (String.Format ("(int) 0x{0:X8}", numbers [i]));
  977. if (i != numbers.Length - 1)
  978. bit_array.Append (", ");
  979. }
  980. bit_array.AppendLine ("");
  981. bit_array.AppendLine (tabs + "};");
  982. bit_array.AppendLine (tabs + "};");
  983. WriteLineNonFormat (bit_array.ToString ());
  984. WriteLine ("BitArray bits = new BitArray (answers);");
  985. WriteLine ("for (int i = 0; i < (int) char.MaxValue; i++)");
  986. WriteLine ("\tAssert.AreEqual (bits.Get (i), MaskedTextProvider.IsValidPasswordChar ((char) i), \"{0}#\" + i.ToString ());", TestName);
  987. WriteTestEnd ();
  988. WriteTestFooter ();
  989. }
  990. static void GenerateItemTest ()
  991. {
  992. string Name = "mtp";
  993. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  994. int counter = 0;
  995. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  996. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  997. foreach (string mask in test_masks) {
  998. for (int i = 0; i < mask.Length; i++) {
  999. bool more_states = true;
  1000. int stateindex = 0;
  1001. do {
  1002. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1003. if (i >= mtp.Length)
  1004. break;
  1005. object [] arguments;
  1006. arguments = new object [] { i };
  1007. if (Compare ("Item", mask, ref stateindex, arguments, ref more_states)) {
  1008. continue;
  1009. }
  1010. WriteTestStart ();
  1011. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1012. more_states = CreateState (mtp, stateindex);
  1013. stateindex++;
  1014. WriteLine ("Assert.AreEqual ({0}, mtp [{1}], \"#{2}\");", GetStringValue (mtp [i]), i.ToString (), (counter++).ToString ());
  1015. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1016. WriteTestEnd ();
  1017. } while (more_states);
  1018. }
  1019. }
  1020. WriteTestFooter ();
  1021. }
  1022. static void GenerateRemoveTest ()
  1023. {
  1024. string Name = "mtp";
  1025. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1026. int counter = 0;
  1027. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1028. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1029. //int Int32_out = 0;
  1030. //MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1031. foreach (string mask in test_masks) {
  1032. bool more_states = true;
  1033. int stateindex = 0;
  1034. do {
  1035. object [] arguments;
  1036. arguments = new object [] { };
  1037. if (Compare ("Remove", mask, ref stateindex, arguments, ref more_states)) {
  1038. continue;
  1039. }
  1040. WriteTestStart ();
  1041. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1042. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1043. more_states = CreateState (mtp, stateindex);
  1044. stateindex++;
  1045. for (int i = -1; i < mask.Length + 2; i++) {
  1046. WriteLine ("Assert.AreEqual ({0}, mtp.Remove (), \"#{1}\");", GetStringValue (mtp.Remove ()), (counter++).ToString ());
  1047. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1048. }
  1049. WriteTestEnd ();
  1050. } while (more_states);
  1051. }
  1052. WriteTestFooter ();
  1053. }
  1054. static void GenerateRemove_int_MaskedTextResultHintTest ()
  1055. {
  1056. string Name = "mtp";
  1057. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1058. int counter = 0;
  1059. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1060. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1061. int Int32_out = 0;
  1062. MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1063. foreach (string mask in test_masks) {
  1064. bool more_states = true;
  1065. int stateindex = 0;
  1066. do {
  1067. object [] arguments;
  1068. arguments = new object [] { Int32_out, MaskedTextResultHint_out };
  1069. if (Compare ("Remove", mask, ref stateindex, arguments, ref more_states)) {
  1070. continue;
  1071. }
  1072. WriteTestStart ();
  1073. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1074. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1075. more_states = CreateState (mtp, stateindex);
  1076. stateindex++;
  1077. for (int i = -1; i < mask.Length + 2; i++) {
  1078. WriteLine ("Assert.AreEqual ({0}, mtp.Remove (out Int32_out, out MaskedTextResultHint_out), \"#{1}\");", GetStringValue (mtp.Remove (out Int32_out, out MaskedTextResultHint_out)), (counter++).ToString ());
  1079. WriteLine ("Assert.AreEqual ({0}, Int32_out, \"#{1}\");", GetStringValue (Int32_out), (counter++).ToString ());
  1080. WriteLine ("Assert.AreEqual ({0}, MaskedTextResultHint_out, \"#{1}\");", GetStringValue (MaskedTextResultHint_out), (counter++).ToString ());
  1081. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1082. }
  1083. WriteTestEnd ();
  1084. } while (more_states);
  1085. }
  1086. WriteTestFooter ();
  1087. }
  1088. static void GenerateRemoveAt_int_Test ()
  1089. {
  1090. string Name = "mtp";
  1091. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1092. int counter = 0;
  1093. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1094. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1095. //int Int32_out = 0;
  1096. //MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1097. foreach (string mask in test_masks) {
  1098. for (int i = 0; i < mask.Length; i++) {
  1099. bool more_states = true;
  1100. int stateindex = 0;
  1101. do {
  1102. object [] arguments;
  1103. arguments = new object [] { i };
  1104. if (Compare ("RemoveAt", mask, ref stateindex, arguments, ref more_states)) {
  1105. continue;
  1106. }
  1107. WriteTestStart ();
  1108. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1109. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1110. more_states = CreateState (mtp, stateindex);
  1111. stateindex++;
  1112. WriteLine ("Assert.AreEqual ({0}, mtp.RemoveAt ({1}), \"#{2}\");",
  1113. GetStringValue (mtp.RemoveAt (i)), i.ToString (), (counter++).ToString ());
  1114. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1115. WriteTestEnd ();
  1116. } while (more_states);
  1117. }
  1118. }
  1119. WriteTestFooter ();
  1120. }
  1121. static void GenerateRemoveAt_int_int_Test ()
  1122. {
  1123. string Name = "mtp";
  1124. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1125. int counter = 0;
  1126. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1127. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1128. //int Int32_out = 0;
  1129. //MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1130. foreach (string mask in test_masks) {
  1131. for (int i = 0; i < mask.Length; i++) {
  1132. for (int j = 0; j < mask.Length; j++) {
  1133. bool more_states = true;
  1134. int stateindex = 0;
  1135. do {
  1136. object [] arguments;
  1137. arguments = new object [] { i, j };
  1138. if (Compare ("RemoveAt", mask, ref stateindex, arguments, ref more_states)) {
  1139. continue;
  1140. }
  1141. WriteTestStart ();
  1142. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1143. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1144. more_states = CreateState (mtp, stateindex);
  1145. stateindex++;
  1146. WriteLine ("Assert.AreEqual ({0}, mtp.RemoveAt ({1}, {2}), \"#{3}\");",
  1147. GetStringValue (mtp.RemoveAt (i, j)), i.ToString (), j.ToString (), (counter++).ToString ());
  1148. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1149. WriteTestEnd ();
  1150. } while (more_states);
  1151. }
  1152. }
  1153. }
  1154. WriteTestFooter ();
  1155. }
  1156. static void GenerateRemoveAt_int_int_int_MaskedTextResultHintTest ()
  1157. {
  1158. string Name = "mtp";
  1159. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1160. int counter = 0;
  1161. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1162. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1163. //object mtp_MS, mtp_Mono;
  1164. int Int32_out = 0;
  1165. MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1166. foreach (string mask in test_masks) {
  1167. for (int i = 0; i < mask.Length; i++) {
  1168. for (int j = 0; j < mask.Length; j++) {
  1169. bool more_states = true;
  1170. int stateindex = 0;
  1171. do {
  1172. object [] arguments;
  1173. arguments = new object [] { i, j, Int32_out, MaskedTextResultHint_out };
  1174. if (Compare ("RemoveAt", mask, ref stateindex, arguments, ref more_states)) {
  1175. continue;
  1176. }
  1177. dont_write = false;
  1178. WriteTestStart ();
  1179. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1180. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1181. more_states = CreateState (mtp, stateindex);
  1182. stateindex++;
  1183. WriteLine ("Assert.AreEqual ({0}, mtp.RemoveAt ({1}, {2}, out Int32_out, out MaskedTextResultHint_out), \"#{3}\");",
  1184. GetStringValue (mtp.RemoveAt (i, j, out Int32_out, out MaskedTextResultHint_out)), i.ToString (), j.ToString (), (counter++).ToString ());
  1185. WriteLine ("Assert.AreEqual ({0}, Int32_out, \"#{1}\");", GetStringValue (Int32_out), (counter++).ToString ());
  1186. WriteLine ("Assert.AreEqual ({0}, MaskedTextResultHint_out, \"#{1}\");", GetStringValue (MaskedTextResultHint_out), (counter++).ToString ());
  1187. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1188. WriteTestEnd ();
  1189. } while (more_states);
  1190. }
  1191. }
  1192. }
  1193. WriteTestFooter ();
  1194. }
  1195. static void GenerateReplace_char_int_Test ()
  1196. {
  1197. string Name = "mtp";
  1198. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1199. int counter = 0;
  1200. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1201. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1202. //int Int32_out = 0;
  1203. //MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1204. foreach (string mask in test_masks) {
  1205. foreach (char str in char_values) {
  1206. for (int i = 0; i < mask.Length; i++) {
  1207. bool more_states = true;
  1208. int stateindex = 0;
  1209. do {
  1210. object [] arguments;
  1211. arguments = new object [] { str, i };
  1212. if (Compare ("Replace", mask, ref stateindex, arguments, ref more_states)) {
  1213. continue;
  1214. }
  1215. WriteTestStart ();
  1216. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1217. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1218. more_states = CreateState (mtp, stateindex);
  1219. stateindex++;
  1220. WriteLine ("Assert.AreEqual ({0}, mtp.Replace ({1}, {2}), \"#{3}\");",
  1221. GetStringValue (mtp.Replace (str, i)), GetStringValue (str), i.ToString (), (counter++).ToString ());
  1222. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1223. WriteTestEnd ();
  1224. } while (more_states);
  1225. }
  1226. }
  1227. }
  1228. WriteTestFooter ();
  1229. }
  1230. static void GenerateReplace_string_int_Test ()
  1231. {
  1232. string Name = "mtp";
  1233. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1234. int counter = 0;
  1235. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1236. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1237. //int Int32_out = 0;
  1238. //MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1239. foreach (string mask in test_masks) {
  1240. foreach (string str in string_values) {
  1241. if (str == null)
  1242. continue;
  1243. for (int i = 0; i < mask.Length; i++) {
  1244. bool more_states = true;
  1245. int stateindex = 0;
  1246. do {
  1247. object [] arguments;
  1248. arguments = new object [] { str, i };
  1249. if (Compare ("Replace", mask, ref stateindex, arguments, ref more_states)) {
  1250. continue;
  1251. }
  1252. WriteTestStart ();
  1253. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1254. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1255. more_states = CreateState (mtp, stateindex);
  1256. stateindex++;
  1257. WriteLine ("Assert.AreEqual ({0}, mtp.Replace ({1}, {2}), \"#{3}\");",
  1258. GetStringValue (mtp.Replace (str, i)), GetStringValue (str), i.ToString (), (counter++).ToString ());
  1259. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1260. WriteTestEnd ();
  1261. } while (more_states);
  1262. }
  1263. }
  1264. }
  1265. WriteTestFooter ();
  1266. }
  1267. static void GenerateReplace_char_int_int_MaskedTextResultHintTest ()
  1268. {
  1269. string Name = "mtp";
  1270. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1271. int counter = 0;
  1272. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1273. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1274. int Int32_out = 0;
  1275. MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1276. foreach (string mask in test_masks) {
  1277. foreach (char str in char_values) {
  1278. for (int i = 0; i < mask.Length; i++) {
  1279. bool more_states = true;
  1280. int stateindex = 0;
  1281. do {
  1282. object [] arguments;
  1283. arguments = new object [] { str, i, Int32_out, MaskedTextResultHint_out };
  1284. if (Compare ("Replace", mask, ref stateindex, arguments, ref more_states)) {
  1285. continue;
  1286. }
  1287. WriteTestStart ();
  1288. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1289. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1290. more_states = CreateState (mtp, stateindex);
  1291. stateindex++;
  1292. WriteLine ("Assert.AreEqual ({0}, mtp.Replace ({1}, {2}, out Int32_out, out MaskedTextResultHint_out), \"#{3}\");",
  1293. GetStringValue (mtp.Replace (str, i, out Int32_out, out MaskedTextResultHint_out)), GetStringValue (str), i.ToString (), (counter++).ToString ());
  1294. WriteLine ("Assert.AreEqual ({0}, Int32_out, \"#{1}\");", GetStringValue (Int32_out), (counter++).ToString ());
  1295. WriteLine ("Assert.AreEqual ({0}, MaskedTextResultHint_out, \"#{1}\");", GetStringValue (MaskedTextResultHint_out), (counter++).ToString ());
  1296. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1297. WriteTestEnd ();
  1298. } while (more_states);
  1299. }
  1300. }
  1301. }
  1302. WriteTestFooter ();
  1303. }
  1304. static void GenerateReplace_string_int_int_MaskedTextResultHintTest ()
  1305. {
  1306. string Name = "mtp";
  1307. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1308. int counter = 0;
  1309. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1310. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1311. int Int32_out = 0;
  1312. MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1313. foreach (string mask in test_masks) {
  1314. foreach (string str in string_values) {
  1315. if (str == null)
  1316. continue;
  1317. for (int i = 0; i < mask.Length; i++) {
  1318. bool more_states = true;
  1319. int stateindex = 0;
  1320. do {
  1321. object [] arguments;
  1322. arguments = new object [] { str, i, Int32_out, MaskedTextResultHint_out };
  1323. if (Compare ("Replace", mask, ref stateindex, arguments, ref more_states)) {
  1324. continue;
  1325. }
  1326. WriteTestStart ();
  1327. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1328. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1329. more_states = CreateState (mtp, stateindex);
  1330. stateindex++;
  1331. WriteLine ("Assert.AreEqual ({0}, mtp.Replace ({1}, {2}, out Int32_out, out MaskedTextResultHint_out), \"#{3}\");",
  1332. GetStringValue (mtp.Replace (str, i, out Int32_out, out MaskedTextResultHint_out)), GetStringValue (str), i.ToString (), (counter++).ToString ());
  1333. WriteLine ("Assert.AreEqual ({0}, Int32_out, \"#{1}\");", GetStringValue (Int32_out), (counter++).ToString ());
  1334. WriteLine ("Assert.AreEqual ({0}, MaskedTextResultHint_out, \"#{1}\");", GetStringValue (MaskedTextResultHint_out), (counter++).ToString ());
  1335. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1336. WriteTestEnd ();
  1337. } while (more_states);
  1338. }
  1339. }
  1340. }
  1341. WriteTestFooter ();
  1342. }
  1343. static void GenerateReplace_char_int_int_int_MaskedTextResultHintTest ()
  1344. {
  1345. string Name = "mtp";
  1346. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1347. int counter = 0;
  1348. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1349. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1350. int Int32_out = 0;
  1351. MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1352. foreach (string mask in test_masks) {
  1353. foreach (char str in char_values) {
  1354. for (int i = 0; i < mask.Length; i++) {
  1355. for (int j = 0; j < mask.Length; j++) {
  1356. bool more_states = true;
  1357. int stateindex = 0;
  1358. do {
  1359. object [] arguments;
  1360. arguments = new object [] { str, i, j, Int32_out, MaskedTextResultHint_out };
  1361. if (Compare ("Replace", mask, ref stateindex, arguments, ref more_states)) {
  1362. continue;
  1363. }
  1364. WriteTestStart ();
  1365. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1366. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1367. more_states = CreateState (mtp, stateindex);
  1368. stateindex++;
  1369. WriteLine ("Assert.AreEqual ({0}, mtp.Replace ({1}, {2}, {3}, out Int32_out, out MaskedTextResultHint_out), \"#{4}\");",
  1370. GetStringValue (mtp.Replace (str, i, j, out Int32_out, out MaskedTextResultHint_out)), GetStringValue (str), i.ToString (), j.ToString (), (counter++).ToString ());
  1371. WriteLine ("Assert.AreEqual ({0}, Int32_out, \"#{1}\");", GetStringValue (Int32_out), (counter++).ToString ());
  1372. WriteLine ("Assert.AreEqual ({0}, MaskedTextResultHint_out, \"#{1}\");", GetStringValue (MaskedTextResultHint_out), (counter++).ToString ());
  1373. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1374. WriteTestEnd ();
  1375. } while (more_states);
  1376. }
  1377. }
  1378. }
  1379. }
  1380. WriteTestFooter ();
  1381. }
  1382. static void GenerateReplace_string_int_int_int_MaskedTextResultHintTest ()
  1383. {
  1384. string Name = "mtp";
  1385. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1386. int counter = 0;
  1387. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1388. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1389. int Int32_out = 0;
  1390. MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1391. foreach (string mask in test_masks) {
  1392. foreach (string str in string_values) {
  1393. if (str == null)
  1394. continue;
  1395. for (int i = 0; i < mask.Length; i++) {
  1396. for (int j = 0; j < mask.Length; j++) {
  1397. bool more_states = true;
  1398. int stateindex = 0;
  1399. do {
  1400. object [] arguments;
  1401. arguments = new object [] { str, i, j, Int32_out, MaskedTextResultHint_out };
  1402. if (Compare ("Replace", mask, ref stateindex, arguments, ref more_states)) {
  1403. continue;
  1404. }
  1405. WriteTestStart ();
  1406. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1407. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1408. more_states = CreateState (mtp, stateindex);
  1409. stateindex++;
  1410. WriteLine ("Assert.AreEqual ({0}, mtp.Replace ({1}, {2}, {3}, out Int32_out, out MaskedTextResultHint_out), \"#{4}\");",
  1411. GetStringValue (mtp.Replace (str, i, j, out Int32_out, out MaskedTextResultHint_out)), GetStringValue (str), i.ToString (), j.ToString (), (counter++).ToString ());
  1412. WriteLine ("Assert.AreEqual ({0}, Int32_out, \"#{1}\");", GetStringValue (Int32_out), (counter++).ToString ());
  1413. WriteLine ("Assert.AreEqual ({0}, MaskedTextResultHint_out, \"#{1}\");", GetStringValue (MaskedTextResultHint_out), (counter++).ToString ());
  1414. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1415. WriteTestEnd ();
  1416. } while (more_states && current_test_counter < MAXFAILEDTESTS);
  1417. }
  1418. }
  1419. }
  1420. }
  1421. WriteTestFooter ();
  1422. }
  1423. static void GenerateSet_string_Test ()
  1424. {
  1425. string Name = "mtp";
  1426. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1427. int counter = 0;
  1428. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1429. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1430. //int Int32_out = 0;
  1431. //MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1432. foreach (string mask in test_masks) {
  1433. foreach (string str in string_values) {
  1434. if (str == null)
  1435. continue;
  1436. bool more_states = true;
  1437. int stateindex = 0;
  1438. do {
  1439. object [] arguments;
  1440. arguments = new object [] { str };
  1441. if (Compare ("Set", mask, ref stateindex, arguments, ref more_states)) {
  1442. continue;
  1443. }
  1444. WriteTestStart ();
  1445. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1446. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1447. more_states = CreateState (mtp, stateindex);
  1448. stateindex++;
  1449. WriteLine ("Assert.AreEqual ({0}, mtp.Set ({1}), \"#{2}\");",
  1450. GetStringValue (mtp.Set (str)), GetStringValue (str), (counter++).ToString ());
  1451. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1452. WriteTestEnd ();
  1453. } while (more_states);
  1454. }
  1455. }
  1456. WriteTestFooter ();
  1457. }
  1458. static void GenerateSet_string_int_MaskedTextResultHintTest ()
  1459. {
  1460. string Name = "mtp";
  1461. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1462. int counter = 0;
  1463. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1464. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1465. int Int32_out = 0;
  1466. MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1467. foreach (string mask in test_masks) {
  1468. foreach (string str in string_values) {
  1469. if (str == null)
  1470. continue;
  1471. bool more_states = true;
  1472. int stateindex = 0;
  1473. do {
  1474. object [] arguments;
  1475. arguments = new object [] { str, Int32_out, MaskedTextResultHint_out };
  1476. if (Compare ("Set", mask, ref stateindex, arguments, ref more_states)) {
  1477. continue;
  1478. }
  1479. WriteTestStart ();
  1480. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1481. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1482. more_states = CreateState (mtp, stateindex);
  1483. stateindex++;
  1484. WriteLine ("Assert.AreEqual ({0}, mtp.Set ({1}, out Int32_out, out MaskedTextResultHint_out), \"#{2}\");",
  1485. GetStringValue (mtp.Set (str, out Int32_out, out MaskedTextResultHint_out)), GetStringValue (str), (counter++).ToString ());
  1486. WriteLine ("Assert.AreEqual ({0}, Int32_out, \"#{1}\");", GetStringValue (Int32_out), (counter++).ToString ());
  1487. WriteLine ("Assert.AreEqual ({0}, MaskedTextResultHint_out, \"#{1}\");", GetStringValue (MaskedTextResultHint_out), (counter++).ToString ());
  1488. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1489. WriteTestEnd ();
  1490. } while (more_states);
  1491. }
  1492. }
  1493. WriteTestFooter ();
  1494. }
  1495. static void GenerateToDisplayStringTest ()
  1496. {
  1497. string Name = "mtp";
  1498. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1499. int counter = 0;
  1500. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1501. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1502. //int Int32_out = 0;
  1503. //MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1504. foreach (string mask in test_masks) {
  1505. bool more_states = true;
  1506. int stateindex = 0;
  1507. do {
  1508. object [] arguments;
  1509. arguments = new object [] { };
  1510. if (Compare ("ToDisplayString", mask, ref stateindex, arguments, ref more_states)) {
  1511. continue;
  1512. }
  1513. WriteTestStart ();
  1514. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1515. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1516. more_states = CreateState (mtp, stateindex);
  1517. stateindex++;
  1518. WriteLine ("Assert.AreEqual ({0}, mtp.ToDisplayString (), \"#{1}\");",
  1519. GetStringValue (mtp.ToDisplayString ()), (counter++).ToString ());
  1520. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1521. WriteTestEnd ();
  1522. } while (more_states);
  1523. }
  1524. WriteTestFooter ();
  1525. }
  1526. static void GenerateToStringTest ()
  1527. {
  1528. string Name = "mtp";
  1529. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1530. int counter = 0;
  1531. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1532. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1533. //int Int32_out = 0;
  1534. //MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1535. foreach (string mask in test_masks) {
  1536. bool more_states = true;
  1537. int stateindex = 0;
  1538. do {
  1539. object [] arguments;
  1540. arguments = new object [] { };
  1541. if (Compare ("ToString", mask, ref stateindex, arguments, ref more_states)) {
  1542. continue;
  1543. }
  1544. WriteTestStart ();
  1545. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1546. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1547. more_states = CreateState (mtp, stateindex);
  1548. stateindex++;
  1549. WriteLine ("Assert.AreEqual ({0}, mtp.ToString (), \"#{1}\");",
  1550. GetStringValue (mtp.ToString ()), (counter++).ToString ());
  1551. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1552. WriteTestEnd ();
  1553. } while (more_states);
  1554. }
  1555. WriteTestFooter ();
  1556. }
  1557. static void GenerateToString_bool_Test ()
  1558. {
  1559. string Name = "mtp";
  1560. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1561. int counter = 0;
  1562. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1563. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1564. //int Int32_out = 0;
  1565. //MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1566. foreach (string mask in test_masks) {
  1567. bool more_states = true;
  1568. foreach (bool value in new bool [] { true, false }) {
  1569. int stateindex = 0;
  1570. do {
  1571. object [] arguments;
  1572. arguments = new object [] { value };
  1573. if (Compare ("ToString", mask, ref stateindex, arguments, ref more_states)) {
  1574. continue;
  1575. }
  1576. WriteTestStart ();
  1577. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1578. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1579. more_states = CreateState (mtp, stateindex);
  1580. stateindex++;
  1581. WriteLine ("Assert.AreEqual ({0}, mtp.ToString ({2}), \"#{1}\");",
  1582. GetStringValue (mtp.ToString (value)), (counter++).ToString (), value ? "true" : "false");
  1583. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1584. WriteTestEnd ();
  1585. } while (more_states);
  1586. }
  1587. }
  1588. WriteTestFooter ();
  1589. }
  1590. static void GenerateToString_bool_bool_Test ()
  1591. {
  1592. string Name = "mtp";
  1593. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1594. int counter = 0;
  1595. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1596. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1597. //int Int32_out = 0;
  1598. //MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1599. foreach (string mask in test_masks) {
  1600. foreach (bool value1 in new bool [] { true, false }) {
  1601. foreach (bool value2 in new bool [] { true, false }) {
  1602. bool more_states = true;
  1603. int stateindex = 0;
  1604. do {
  1605. object [] arguments;
  1606. arguments = new object [] { value1, value2 };
  1607. if (Compare ("ToString", mask, ref stateindex, arguments, ref more_states)) {
  1608. continue;
  1609. }
  1610. WriteTestStart ();
  1611. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1612. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1613. more_states = CreateState (mtp, stateindex);
  1614. stateindex++;
  1615. WriteLine ("Assert.AreEqual ({0}, mtp.ToString ({2}, {3}), \"#{1}\");",
  1616. GetStringValue (mtp.ToString (value1, value2)), (counter++).ToString (), value1 ? "true" : "false", value2 ? "true" : "false");
  1617. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1618. WriteTestEnd ();
  1619. } while (more_states);
  1620. }
  1621. }
  1622. }
  1623. WriteTestFooter ();
  1624. }
  1625. static void GenerateToString_int_int_Test ()
  1626. {
  1627. string Name = "mtp";
  1628. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1629. int counter = 0;
  1630. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1631. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1632. //int Int32_out = 0;
  1633. //MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1634. foreach (string mask in test_masks) {
  1635. for (int i = -1; i < mask.Length + 1; i++) {
  1636. for (int j = -1; j < mask.Length + 1; j++) {
  1637. bool more_states = true;
  1638. int stateindex = 0;
  1639. do {
  1640. object [] arguments;
  1641. arguments = new object [] { i, j };
  1642. if (Compare ("ToString", mask, ref stateindex, arguments, ref more_states)) {
  1643. continue;
  1644. }
  1645. WriteTestStart ();
  1646. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1647. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1648. more_states = CreateState (mtp, stateindex);
  1649. stateindex++;
  1650. WriteLine ("Assert.AreEqual ({0}, mtp.ToString ({2}, {3}), \"#{1}\");",
  1651. GetStringValue (mtp.ToString (i, j)), (counter++).ToString (), i.ToString (), j.ToString ());
  1652. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1653. WriteTestEnd ();
  1654. } while (more_states);
  1655. }
  1656. }
  1657. }
  1658. WriteTestFooter ();
  1659. }
  1660. static void GenerateToString_bool_int_int_Test ()
  1661. {
  1662. string Name = "mtp";
  1663. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1664. int counter = 0;
  1665. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1666. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1667. //int Int32_out = 0;
  1668. //MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1669. foreach (string mask in test_masks) {
  1670. foreach (bool value1 in new bool [] { true, false }) {
  1671. for (int i = -1; i < mask.Length + 1; i++) {
  1672. for (int j = -1; j < mask.Length + 1; j++) {
  1673. bool more_states = true;
  1674. int stateindex = 0;
  1675. do {
  1676. object [] arguments;
  1677. arguments = new object [] { value1, i, j };
  1678. if (Compare ("ToString", mask, ref stateindex, arguments, ref more_states)) {
  1679. continue;
  1680. }
  1681. WriteTestStart ();
  1682. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1683. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1684. more_states = CreateState (mtp, stateindex);
  1685. stateindex++;
  1686. WriteLine ("Assert.AreEqual ({0}, mtp.ToString ({4}, {2}, {3}), \"#{1}\");",
  1687. GetStringValue (mtp.ToString (value1, i, j)), (counter++).ToString (), i.ToString (), j.ToString (), value1 ? "true" : "false");
  1688. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1689. WriteTestEnd ();
  1690. } while (more_states);
  1691. }
  1692. }
  1693. }
  1694. }
  1695. WriteTestFooter ();
  1696. }
  1697. static void GenerateToString_bool_bool_int_int_Test ()
  1698. {
  1699. string Name = "mtp";
  1700. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1701. int counter = 0;
  1702. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1703. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1704. //int Int32_out = 0;
  1705. //MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1706. foreach (string mask in test_masks) {
  1707. foreach (bool value1 in new bool [] { true, false }) {
  1708. foreach (bool value2 in new bool [] { true, false }) {
  1709. for (int i = -1; i < mask.Length + 1; i++) {
  1710. for (int j = -1; j < mask.Length + 1; j++) {
  1711. bool more_states = true;
  1712. int stateindex = 0;
  1713. do {
  1714. object [] arguments;
  1715. arguments = new object [] { value1, value2, i, j };
  1716. if (Compare ("ToString", mask, ref stateindex, arguments, ref more_states)) {
  1717. continue;
  1718. }
  1719. WriteTestStart ();
  1720. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1721. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1722. more_states = CreateState (mtp, stateindex);
  1723. stateindex++;
  1724. WriteLine ("Assert.AreEqual ({0}, mtp.ToString ({4}, {5}, {2}, {3}), \"#{1}\");",
  1725. GetStringValue (mtp.ToString (value1, value2, i, j)), (counter++).ToString (), i.ToString (), j.ToString (), value1 ? "true" : "false", value2 ? "true" : "false");
  1726. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1727. WriteTestEnd ();
  1728. } while (more_states);
  1729. }
  1730. }
  1731. }
  1732. }
  1733. }
  1734. WriteTestFooter ();
  1735. }
  1736. static void GenerateToString_bool_bool_bool_int_int_Test ()
  1737. {
  1738. string Name = "mtp";
  1739. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1740. int counter = 0;
  1741. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1742. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1743. //int Int32_out = 0;
  1744. //MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1745. foreach (string mask in test_masks) {
  1746. foreach (bool value1 in new bool [] { true, false }) {
  1747. foreach (bool value2 in new bool [] { true, false }) {
  1748. foreach (bool value3 in new bool [] { true, false }) {
  1749. for (int i = -1; i < mask.Length + 1; i++) {
  1750. for (int j = -1; j < mask.Length + 1; j++) {
  1751. bool more_states = true;
  1752. int stateindex = 0;
  1753. do {
  1754. object [] arguments;
  1755. arguments = new object [] { value1, value2, value3, i, j };
  1756. if (Compare ("ToString", mask, ref stateindex, arguments, ref more_states)) {
  1757. continue;
  1758. }
  1759. WriteTestStart ();
  1760. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1761. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1762. more_states = CreateState (mtp, stateindex);
  1763. stateindex++;
  1764. WriteLine ("Assert.AreEqual ({0}, mtp.ToString ({4}, {5}, {6}, {2}, {3}), \"#{1}\");",
  1765. GetStringValue (mtp.ToString (value1, value2, value3, i, j)), (counter++).ToString (), i.ToString (), j.ToString (), value1 ? "true" : "false", value2 ? "true" : "false", value3 ? "true" : "false");
  1766. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1767. WriteTestEnd ();
  1768. } while (more_states);
  1769. }
  1770. }
  1771. }
  1772. }
  1773. }
  1774. }
  1775. WriteTestFooter ();
  1776. }
  1777. static void GenerateVerifyCharTest ()
  1778. {
  1779. string Name = "mtp";
  1780. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1781. int counter = 0;
  1782. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1783. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1784. //int Int32_out = 0;
  1785. MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1786. foreach (string mask in test_masks) {
  1787. foreach (char str in char_values) {
  1788. for (int i = -1; i < mask.Length + 1; i++) {
  1789. bool more_states = true;
  1790. int stateindex = 0;
  1791. do {
  1792. object [] arguments;
  1793. arguments = new object [] { str, i, MaskedTextResultHint_out };
  1794. if (Compare ("VerifyChar", mask, ref stateindex, arguments, ref more_states)) {
  1795. continue;
  1796. }
  1797. WriteTestStart ();
  1798. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1799. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1800. more_states = CreateState (mtp, stateindex);
  1801. stateindex++;
  1802. WriteLine ("Assert.AreEqual ({0}, mtp.VerifyChar ({1}, {2}, out MaskedTextResultHint_out), \"#{3}\");",
  1803. GetStringValue (mtp.VerifyChar (str, i, out MaskedTextResultHint_out)), GetStringValue (str), i.ToString (), (counter++).ToString ());
  1804. WriteLine ("Assert.AreEqual ({0}, MaskedTextResultHint_out, \"#{1}\");", GetStringValue (MaskedTextResultHint_out), (counter++).ToString ());
  1805. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1806. WriteTestEnd ();
  1807. } while (more_states);
  1808. }
  1809. }
  1810. }
  1811. WriteTestFooter ();
  1812. }
  1813. static void GenerateVerifyEscapeCharTest ()
  1814. {
  1815. string Name = "mtp";
  1816. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1817. int counter = 0;
  1818. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1819. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1820. //int Int32_out = 0;
  1821. //MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1822. foreach (string mask in test_masks) {
  1823. foreach (char str in char_values) {
  1824. for (int i = -1; i < mask.Length + 1; i++) {
  1825. bool more_states = true;
  1826. int stateindex = 0;
  1827. do {
  1828. object [] arguments;
  1829. arguments = new object [] { str, i };
  1830. if (Compare ("VerifyEscapeChar", mask, ref stateindex, arguments, ref more_states)) {
  1831. continue;
  1832. }
  1833. WriteTestStart ();
  1834. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1835. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1836. more_states = CreateState (mtp, stateindex);
  1837. stateindex++;
  1838. WriteLine ("Assert.AreEqual ({0}, mtp.VerifyEscapeChar ({1}, {2}), \"#{3}\");",
  1839. GetStringValue (mtp.VerifyEscapeChar (str, i)), GetStringValue (str), i.ToString (), (counter++).ToString ());
  1840. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1841. WriteTestEnd ();
  1842. } while (more_states);
  1843. }
  1844. }
  1845. }
  1846. WriteTestFooter ();
  1847. }
  1848. static void GenerateVerifyString_string_Test ()
  1849. {
  1850. string Name = "mtp";
  1851. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1852. int counter = 0;
  1853. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1854. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1855. //int Int32_out = 0;
  1856. //MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1857. foreach (string mask in test_masks) {
  1858. foreach (string str in string_values) {
  1859. bool more_states = true;
  1860. int stateindex = 0;
  1861. do {
  1862. object [] arguments;
  1863. arguments = new object [] { str };
  1864. if (Compare ("VerifyString", mask, ref stateindex, arguments, ref more_states)) {
  1865. continue;
  1866. }
  1867. WriteTestStart ();
  1868. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1869. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1870. more_states = CreateState (mtp, stateindex);
  1871. stateindex++;
  1872. WriteLine ("Assert.AreEqual ({0}, mtp.VerifyString ({1}), \"#{2}\");",
  1873. GetStringValue (mtp.VerifyString (str)), GetStringValue (str), (counter++).ToString ());
  1874. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1875. WriteTestEnd ();
  1876. } while (more_states);
  1877. }
  1878. }
  1879. WriteTestFooter ();
  1880. }
  1881. static void GenerateVerifyString_string_int_MaskedTextResultHintTest ()
  1882. {
  1883. string Name = "mtp";
  1884. string TestName = MethodInfo.GetCurrentMethod ().Name.Replace ("Generate", "");
  1885. int counter = 0;
  1886. WriteTestHeader (TestName, "MaskedTextProvider mtp;", "int Int32_out = 0;", "MaskedTextResultHint MaskedTextResultHint_out = MaskedTextResultHint.Unknown;");
  1887. MS_System_ComponentModel.MaskedTextProvider mtp = null;
  1888. int Int32_out = 0;
  1889. MS_System_ComponentModel.MaskedTextResultHint MaskedTextResultHint_out = MS_System_ComponentModel.MaskedTextResultHint.Unknown;
  1890. foreach (string mask in test_masks) {
  1891. foreach (string str in string_values) {
  1892. bool more_states = true;
  1893. int stateindex = 0;
  1894. do {
  1895. object [] arguments;
  1896. arguments = new object [] { str, Int32_out, MaskedTextResultHint_out };
  1897. if (Compare ("VerifyString", mask, ref stateindex, arguments, ref more_states)) {
  1898. continue;
  1899. }
  1900. WriteTestStart ();
  1901. mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  1902. WriteLine ("mtp = new MaskedTextProvider (@\"" + mask.Replace ("\"", "\"\"") + "\");");
  1903. more_states = CreateState (mtp, stateindex);
  1904. stateindex++;
  1905. WriteLine ("Assert.AreEqual ({0}, mtp.VerifyString ({1}, out Int32_out, out MaskedTextResultHint_out), \"#{2}\");",
  1906. GetStringValue (mtp.VerifyString (str, out Int32_out, out MaskedTextResultHint_out)), GetStringValue (str), (counter++).ToString ());
  1907. WriteLine ("Assert.AreEqual ({0}, MaskedTextResultHint_out, \"#{1}\");", GetStringValue (MaskedTextResultHint_out), (counter++).ToString ());
  1908. WriteLine ("Assert.AreEqual ({0}, Int32_out, \"#{1}\");", GetStringValue (Int32_out), (counter++).ToString ());
  1909. WriteAssertProperties (mtp, Name, TestName, ref counter);
  1910. WriteTestEnd ();
  1911. } while (more_states);
  1912. }
  1913. }
  1914. WriteTestFooter ();
  1915. }
  1916. private static void CreateObjects (out object mtp_MS, out object mtp_Mono, string mask)
  1917. {
  1918. if (type_MS == null) {
  1919. type_MS = Assembly.Load ("System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089").GetType ("System.ComponentModel.MaskedTextProvider");
  1920. type_Hint_MS = Assembly.Load ("System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089").GetType ("System.ComponentModel.MaskedTextResultHint");
  1921. }
  1922. if (type_Mono == null) {
  1923. type_Mono = Assembly.GetExecutingAssembly ().GetType ("System.ComponentModel.MaskedTextProvider");
  1924. type_Hint_Mono = Assembly.GetExecutingAssembly ().GetType ("System.ComponentModel.MaskedTextResultHint");
  1925. }
  1926. if (type_MS == null) {
  1927. Assert.Ignore ("Could not load MS' version of MaskedTextProvider.");
  1928. }
  1929. if (type_Mono == null) {
  1930. Assert.Ignore ("Could not load Mono's version of MaskedTextProvider.");
  1931. }
  1932. if (type_Mono == type_MS) {
  1933. Assert.Ignore ("You're running on the Mono runtime, this test can only be run on the MS runtime.");
  1934. }
  1935. mtp_Mono = type_Mono.GetConstructor (new Type [] { typeof (string) }).Invoke (new object [] { mask });
  1936. mtp_MS = type_MS.GetConstructor (new Type [] { typeof (string) }).Invoke (new object [] { mask });
  1937. }
  1938. // Gets the mtp into a certain state.
  1939. // returns false if index+1 is not valid.
  1940. // index starts at 0.
  1941. static bool CreateState (object mtp, int index)
  1942. {
  1943. object [] states = (object [])state_methods_values [index];
  1944. for (int j = 0; j < states.Length; j++) {
  1945. object [] state = (object [])states [j];
  1946. string name = (string)state [0];
  1947. object [] args = (object [])state [1];
  1948. Type [] arg_types = new Type [args.Length];
  1949. for (int i = 0; i < args.Length; i++) {
  1950. arg_types [i] = args [i].GetType ();
  1951. }
  1952. MethodInfo method = mtp.GetType ().GetMethod (name, arg_types);
  1953. if (method == null) {
  1954. if (arg_types [arg_types.Length - 1].Name == "MaskedTextResultHint") {
  1955. arg_types [arg_types.Length - 1] = arg_types [arg_types.Length - 1].MakeByRefType ();
  1956. arg_types [arg_types.Length - 2] = arg_types [arg_types.Length - 2].MakeByRefType ();
  1957. args [arg_types.Length - 1] = (int)args [arg_types.Length - 1];
  1958. method = mtp.GetType ().GetMethod (name, arg_types);
  1959. args [arg_types.Length - 1] = Enum.ToObject (method.GetParameters () [arg_types.Length - 1].ParameterType.GetElementType (), (int)args [arg_types.Length - 1]);
  1960. }
  1961. }
  1962. if (method == null)
  1963. Console.WriteLine ("STOP");
  1964. method.Invoke (mtp, args);
  1965. string line;
  1966. line = "mtp." + method.Name + "(";
  1967. for (int i = 0; i < args.Length; i++) {
  1968. if (arg_types [i].IsByRef) {
  1969. line += "out " + arg_types [i].GetElementType ().Name + "_out";
  1970. } else {
  1971. line += GetStringValue (args [i]);
  1972. }
  1973. if (i < args.Length - 1)
  1974. line += ", ";
  1975. }
  1976. line += ");";
  1977. WriteLine (line);
  1978. }
  1979. if (state_methods_values.Length <= index + 1)
  1980. return false;
  1981. return true;
  1982. }
  1983. static void WriteLineNonFormat (string msg)
  1984. {
  1985. if (dont_write)
  1986. return;
  1987. writer.WriteLine (tabs + msg);
  1988. }
  1989. static void WriteLine (string msg, params string [] args)
  1990. {
  1991. if (dont_write)
  1992. return;
  1993. writer.WriteLine (tabs + msg, args);
  1994. }
  1995. static string tabs
  1996. {
  1997. get
  1998. {
  1999. return new string ('\t', tab);
  2000. }
  2001. }
  2002. static Array GetTestValues (Type tp)
  2003. {
  2004. if (tp == typeof (char)) {
  2005. return char_values;
  2006. } else if (tp == typeof (int) || tp == typeof (int).MakeByRefType ()) {
  2007. return int_values;
  2008. } else if (tp == typeof (string)) {
  2009. return string_values;
  2010. } else if (tp == typeof (CultureInfo)) {
  2011. return culture_infos;
  2012. } else if (tp == typeof (bool)) {
  2013. return new bool [] { true, false };
  2014. } else if (tp == typeof (MaskedTextResultHint) || tp == typeof (MaskedTextResultHint).MakeByRefType ()) {
  2015. return hint_values;
  2016. } else if (tp == typeof (object)) {
  2017. return object_values;
  2018. } else {
  2019. throw new NotImplementedException ();
  2020. }
  2021. }
  2022. static string GetStringValue (object obj)
  2023. {
  2024. if (obj == null)
  2025. return "null";
  2026. Type tp = obj.GetType ();
  2027. if (tp == typeof (char)) {
  2028. return string.Format ("'\\x{0:X}'", Convert.ToInt32 ((char)obj));
  2029. } else if (tp == typeof (int)) {
  2030. return obj.ToString ();
  2031. } else if (tp == typeof (string)) {
  2032. return "@\"" + obj.ToString ().Replace ("\"", "\"\"") + "\"";
  2033. } else if (tp == typeof (CultureInfo)) {
  2034. CultureInfo ci = (CultureInfo)obj;
  2035. //return "\"" + ci.Name + "\"";
  2036. return "CultureInfo.GetCultureInfo (\"" + ci.Name + "\")";
  2037. } else if (tp == typeof (bool)) {
  2038. return ((bool)obj) ? "true" : "false";
  2039. } else if (tp == typeof (MaskedTextProvider)) {
  2040. return "@\"" + obj.ToString ().Replace ("\"", "\"\"") + "\"";
  2041. } else if (tp is IEnumerator) {
  2042. return "@\"" + obj.ToString ().Replace ("\"", "\"\"") + "\"";
  2043. } else if (tp == typeof (List<int>.Enumerator)) {
  2044. return "@\"" + obj.ToString ().Replace ("\"", "\"\"") + "\"";
  2045. } else if (tp.Name == "MaskedTextResultHint") {
  2046. return "MaskedTextResultHint." + obj.ToString ();
  2047. } else if (tp is Type) {
  2048. return "typeof (" + ((Type)obj).FullName + ")";
  2049. } else {
  2050. throw new NotImplementedException ();
  2051. }
  2052. }
  2053. static bool IncIndex (int [] indices, Array [] inputs)
  2054. {
  2055. for (int i = indices.Length - 1; i >= 0; i--) {
  2056. if (indices [i] >= inputs [i].Length - 1) {
  2057. if (i == 0) {
  2058. return false;
  2059. }
  2060. indices [i] = 0;
  2061. indices [i - 1]++;
  2062. int a, b;
  2063. a = indices [i - 1];
  2064. b = inputs [i - 1].Length - 1;
  2065. if (a < b) {
  2066. return true;
  2067. }
  2068. } else {
  2069. indices [i]++;
  2070. return true;
  2071. }
  2072. }
  2073. return false;
  2074. }
  2075. static string GetTestName (string prefix, ParameterInfo [] ps)
  2076. {
  2077. string result = prefix;
  2078. for (int b = 0; b < ps.Length; b++)
  2079. result += "_" + ps [b].ParameterType.Name.Replace ("&", "").Replace ("+", "").Replace ("*", "");
  2080. result += "_Test";
  2081. return result;
  2082. }
  2083. //static void MethodsTest ()
  2084. //{
  2085. // string Name = "mtp";
  2086. // int counter = 0;
  2087. // MS_System_ComponentModel.MaskedTextProvider mtp = null;
  2088. // for (int a = 0; a < methods.Length; a++) {
  2089. // MethodInfo method = methods [a];
  2090. // if (method.Name.StartsWith ("get_") || method.Name.StartsWith ("set_"))
  2091. // continue;
  2092. // if (method.IsStatic)
  2093. // continue;
  2094. // ParameterInfo [] ps = method.GetParameters ();
  2095. // Array [] inputs = new Array [ps.Length];
  2096. // int [] indices = new int [ps.Length];
  2097. // string TestName = GetTestName (method.Name, ps);
  2098. // Console.WriteLine ("Method (" + (a + 1).ToString () + "/" + methods.Length.ToString () + "): " + TestName);
  2099. // int assert_count = 1;
  2100. // WriteTestHeader (TestName);
  2101. // WriteLine ("MaskedTextProvider mtp;");
  2102. // WriteLine ("object result = null;");
  2103. // for (int i = 0; i < ps.Length; i++)
  2104. // inputs [i] = GetTestValues (ps [i].ParameterType);
  2105. // foreach (string mask in test_masks) {
  2106. // do {
  2107. // Exception ex = null;
  2108. // object result = null;
  2109. // object [] args = new object [inputs.Length];
  2110. // for (int i = 0; i < inputs.Length; i++) {
  2111. // args [i] = inputs [i].GetValue (indices [i]);
  2112. // }
  2113. // mtp = new MS_System_ComponentModel.MaskedTextProvider (mask);
  2114. // WriteLine ("mtp = new MaskedTextProvider (@\"{0}\");", mask.Replace ("\"", "\"\""));
  2115. // try {
  2116. // result = method.Invoke (mtp, args);
  2117. // } catch (TargetInvocationException e) {
  2118. // ex = e.InnerException;
  2119. // } catch (Exception e) {
  2120. // ex = e;
  2121. // }
  2122. // WriteLine ("");
  2123. // WriteLine ("try {");
  2124. // tab++;
  2125. // string tmp = "";
  2126. // for (int j = 0; j < args.Length; j++) {
  2127. // bool tmpvar = false;
  2128. // if (tmp != "")
  2129. // tmp += ", ";
  2130. // //if (ps [j].ParameterType.IsByRef) {
  2131. // // tmp += "ref ";
  2132. // // tmpvar = true;
  2133. // //}
  2134. // if (ps [j].IsOut) {
  2135. // tmp += "out ";
  2136. // tmpvar = true;
  2137. // }
  2138. // if (tmpvar) {
  2139. // string name = "tmpvar_" + (counter++).ToString ();
  2140. // WriteLine (ps [j].ParameterType.GetElementType ().Name + " " + name + " = " + GetStringValue (args [j]) + ";");
  2141. // tmp += name;
  2142. // } else {
  2143. // tmp += GetStringValue (args [j]);
  2144. // }
  2145. // }
  2146. // string statement;
  2147. // bool is_void = !(method.ReturnType == null || method.ReturnType == typeof (void));
  2148. // statement = "mtp." + method.Name + " (" + tmp + ");";
  2149. // if (is_void) {
  2150. // statement = "result = " + statement;
  2151. // }
  2152. // WriteLine (statement);
  2153. // if (ex != null) {
  2154. // WriteLine ("Assert.Fail (\"Expected '{0}'\");", ex.GetType ().FullName);
  2155. // } else {
  2156. // WriteAssertProperties (mtp, Name, TestName, ref assert_count);
  2157. // if (!is_void)
  2158. // WriteLine ("Assert.AreEqual ({0}, result, \"{1}#{2}\");", GetStringValue (result), TestName, (assert_count++).ToString ());
  2159. // }
  2160. // tab--;
  2161. // WriteLine ("} catch (Exception ex) {");
  2162. // tab++;
  2163. // if (ex == null) {
  2164. // WriteLine ("Assert.Fail (\"Unexpected exception of Type = \" + ex.GetType ().FullName + \", Message = \" + ex.Message + \".\");");
  2165. // } else {
  2166. // WriteLine ("Assert.AreEqual (\"{0}\", ex.GetType ().FullName, \"{1}#{2}\");", ex.GetType ().FullName, TestName, (assert_count++).ToString ());
  2167. // WriteLine ("Assert.AreEqual (@\"{0}\", ex.Message, \"{1}#{2}\");", ex.Message.Replace ("\"", "\"\""), TestName, (assert_count++).ToString ());
  2168. // }
  2169. // tab--;
  2170. // WriteLine ("}");
  2171. // } while (IncIndex (indices, inputs));
  2172. // WriteLine ("");
  2173. // }
  2174. // WriteTestFooter ();
  2175. // }
  2176. //}
  2177. //static void ConstructorTest ()
  2178. //{
  2179. // int assert_count = 1;
  2180. // string Name = "mtp";
  2181. // foreach (ConstructorInfo ctor in ctors) {
  2182. // string TestName = GetTestName ("Constructor", ctor.GetParameters ());
  2183. // WriteTestHeader (TestName);
  2184. // MS_System_ComponentModel.MaskedTextProvider mtp = null;
  2185. // WriteLine ("MaskedTextProvider mtp;");
  2186. // ParameterInfo [] ps = ctor.GetParameters ();
  2187. // Array [] inputs = new Array [ps.Length];
  2188. // int [] indices = new int [ps.Length];
  2189. // for (int i = 0; i < ps.Length; i++)
  2190. // inputs [i] = GetTestValues (ps [i].ParameterType);
  2191. // do {
  2192. // object [] args = new object [inputs.Length];
  2193. // for (int i = 0; i < inputs.Length; i++) {
  2194. // args [i] = inputs [i].GetValue (indices [i]);
  2195. // }
  2196. // Exception ex = null;
  2197. // mtp = null;
  2198. // try {
  2199. // mtp = (MS_System_ComponentModel.MaskedTextProvider)ctor.Invoke (args);
  2200. // } catch (TargetInvocationException e) {
  2201. // ex = e.InnerException;
  2202. // } catch (Exception e) {
  2203. // ex = e;
  2204. // }
  2205. // WriteLine ("");
  2206. // WriteLine ("try {");
  2207. // tab++;
  2208. // string tmp = "";
  2209. // for (int j = 0; j < args.Length; j++) {
  2210. // if (tmp != "")
  2211. // tmp += ", ";
  2212. // tmp += GetStringValue (args [j]);
  2213. // }
  2214. // string statement;
  2215. // statement = "mtp = new MaskedTextProvider (" + tmp + ");";
  2216. // WriteLine (statement);
  2217. // if (ex == null) {
  2218. // ok_constructors.Add (ctor);
  2219. // ok_constructors_args.Add (args);
  2220. // ok_constructors_statements.Add (statement);
  2221. // }
  2222. // if (ex != null) {
  2223. // WriteLine ("Assert.Fail (\"Expected '{0}'\");", ex.GetType ().FullName);
  2224. // } else {
  2225. // WriteAssertProperties (mtp, Name, TestName, ref assert_count);
  2226. // }
  2227. // tab--;
  2228. // WriteLine ("} catch (Exception ex) {");
  2229. // tab++;
  2230. // if (ex == null) {
  2231. // WriteLine ("Assert.Fail (\"Unexpected exception of Type = \" + ex.GetType ().FullName + \", Message = \" + ex.Message + \".\");");
  2232. // } else {
  2233. // WriteLine ("Assert.AreEqual (\"{0}\", ex.GetType ().FullName, \"{1}#{2}\");", ex.GetType ().FullName, TestName, (assert_count++).ToString ());
  2234. // WriteLine ("Assert.AreEqual (@\"{0}\", ex.Message, \"{1}#{2}\");", ex.Message.Replace ("\"", "\"\""), TestName, (assert_count++).ToString ());
  2235. // }
  2236. // tab--;
  2237. // WriteLine ("}");
  2238. // } while (IncIndex (indices, inputs));
  2239. // WriteTestFooter ();
  2240. // }
  2241. //}
  2242. static string current_test_name;
  2243. static int current_test_counter;
  2244. static int skipped_test_counter;
  2245. static int total_skipped_counter;
  2246. static int total_test_counter;
  2247. static string [] current_test_method_init;
  2248. static void WriteTestHeader (string TestName, params string [] method_init)
  2249. {
  2250. //WriteLine ("[Test]");
  2251. //WriteLine ("public void " + TestName + " ()");
  2252. WriteLineNonFormat ("[TestFixture]");
  2253. WriteLineNonFormat ("public class " + TestName);
  2254. WriteLineNonFormat ("{");
  2255. tab++;
  2256. total_test_counter += current_test_counter;
  2257. current_test_counter = 0;
  2258. total_skipped_counter += skipped_test_counter;
  2259. skipped_test_counter = 0;
  2260. current_test_name = TestName;
  2261. current_test_method_init = method_init;
  2262. Console.Write ("Writing " + TestName + "... ");
  2263. }
  2264. static void WriteTestFooter ()
  2265. {
  2266. tab--;
  2267. WriteLineNonFormat ("}");
  2268. Console.WriteLine ("written " + (current_test_counter - skipped_test_counter).ToString () + " tests, and skipped " + skipped_test_counter.ToString () + " tests.");
  2269. dont_write = false;
  2270. }
  2271. static void WriteTestStart ()
  2272. {
  2273. current_test_counter++;
  2274. WriteLineNonFormat ("[Test]");
  2275. WriteLineNonFormat ("public void " + current_test_name + current_test_counter.ToString ("00000") + " ()");
  2276. WriteLineNonFormat ("{");
  2277. tab++;
  2278. foreach (string str in current_test_method_init)
  2279. WriteLine (str);
  2280. }
  2281. static void WriteTestEnd ()
  2282. {
  2283. tab--;
  2284. WriteLineNonFormat ("}");
  2285. }
  2286. static void WriteFileHeader ()
  2287. {
  2288. WriteLineNonFormat (
  2289. @"//
  2290. // System.ComponentModel.MaskedTextProvider generated test cases
  2291. //
  2292. // Authors:
  2293. // Rolf Bjarne Kvinge (RKvinge@novell.com)
  2294. //
  2295. // (c) 2007 Novell
  2296. //
  2297. using System;
  2298. using System.ComponentModel;
  2299. using System.Drawing.Design;
  2300. using System.Globalization;
  2301. using System.Collections;
  2302. using NUnit.Framework;
  2303. namespace MonoTests.System.ComponentModel
  2304. {
  2305. [TestFixture]
  2306. public class MaskedTextProviderGeneratedTests
  2307. {
  2308. ");
  2309. tab += 2;
  2310. }
  2311. static void WriteFileFooter ()
  2312. {
  2313. WriteLineNonFormat (
  2314. @"
  2315. }
  2316. }
  2317. ");
  2318. tab -= 2;
  2319. Console.WriteLine ("Written " + (total_test_counter - total_skipped_counter).ToString () + " tests in total and skipped " + total_skipped_counter.ToString () + " tests.");
  2320. }
  2321. //static void WriteAssertProperties (MaskedTextProvider mtp, string Name, string TestName, ref int i)
  2322. //{
  2323. // WriteLine ("// Testing all properties...");
  2324. // //return;
  2325. // WriteLine ("Assert.AreEqual ({0}, {1}.AllowPromptAsInput, \"{2}-#{3}\");", GetStringValue (mtp.AllowPromptAsInput), Name, TestName, (i++).ToString ());
  2326. // WriteLine ("Assert.AreEqual ({0}, {1}.AsciiOnly, \"{2}-#{3}\");", GetStringValue (mtp.AsciiOnly), Name, TestName, (i++).ToString ());
  2327. // WriteLine ("Assert.AreEqual ({0}, {1}.AssignedEditPositionCount, \"{2}-#{3}\");", GetStringValue (mtp.AssignedEditPositionCount), Name, TestName, (i++).ToString ());
  2328. // WriteLine ("Assert.AreEqual ({0}, {1}.AvailableEditPositionCount, \"{2}-#{3}\");", GetStringValue (mtp.AvailableEditPositionCount), Name, TestName, (i++).ToString ());
  2329. // WriteLine ("Assert.AreEqual ({0}, {1}.Culture, \"{2}-#{3}\");", GetStringValue (mtp.Culture), Name, TestName, (i++).ToString ());
  2330. // WriteLine ("Assert.AreEqual ({0}, {1}.EditPositionCount, \"{2}-#{3}\");", GetStringValue (mtp.EditPositionCount), Name, TestName, (i++).ToString ());
  2331. // //WriteLine ("Assert.AreEqual ({0}, {1}.EditPositions, \"{2}-#{3}\");", GetStringValue (mtp.EditPositions), Name, TestName, (i++).ToString ());
  2332. // WriteLine ("Assert.AreEqual ({0}, {1}.IncludeLiterals, \"{2}-#{3}\");", GetStringValue (mtp.IncludeLiterals), Name, TestName, (i++).ToString ());
  2333. // WriteLine ("Assert.AreEqual ({0}, {1}.IncludePrompt, \"{2}-#{3}\");", GetStringValue (mtp.IncludePrompt), Name, TestName, (i++).ToString ());
  2334. // WriteLine ("Assert.AreEqual ({0}, {1}.IsPassword, \"{2}-#{3}\");", GetStringValue (mtp.IsPassword), Name, TestName, (i++).ToString ());
  2335. // WriteLine ("Assert.AreEqual ({0}, {1}.LastAssignedPosition, \"{2}-#{3}\");", GetStringValue (mtp.LastAssignedPosition), Name, TestName, (i++).ToString ());
  2336. // WriteLine ("Assert.AreEqual ({0}, {1}.Length, \"{2}-#{3}\");", GetStringValue (mtp.Length), Name, TestName, (i++).ToString ());
  2337. // WriteLine ("Assert.AreEqual ({0}, {1}.Mask, \"{2}-#{3}\");", GetStringValue (mtp.Mask), Name, TestName, (i++).ToString ());
  2338. // WriteLine ("Assert.AreEqual ({0}, {1}.MaskCompleted, \"{2}-#{3}\");", GetStringValue (mtp.MaskCompleted), Name, TestName, (i++).ToString ());
  2339. // WriteLine ("Assert.AreEqual ({0}, {1}.MaskFull, \"{2}-#{3}\");", GetStringValue (mtp.MaskFull), Name, TestName, (i++).ToString ());
  2340. // WriteLine ("Assert.AreEqual ({0}, {1}.PasswordChar, \"{2}-#{3}\");", GetStringValue (mtp.PasswordChar), Name, TestName, (i++).ToString ());
  2341. // WriteLine ("Assert.AreEqual ({0}, {1}.PromptChar, \"{2}-#{3}\");",GetStringValue ( mtp.PromptChar), Name, TestName, (i++).ToString ());
  2342. // WriteLine ("Assert.AreEqual ({0}, {1}.ResetOnPrompt, \"{2}-#{3}\");", GetStringValue (mtp.ResetOnPrompt), Name, TestName, (i++).ToString ());
  2343. // WriteLine ("Assert.AreEqual ({0}, {1}.ResetOnSpace, \"{2}-#{3}\");", GetStringValue (mtp.ResetOnSpace), Name, TestName, (i++).ToString ());
  2344. // WriteLine ("Assert.AreEqual ({0}, {1}.SkipLiterals, \"{2}-#{3}\");", GetStringValue (mtp.SkipLiterals), Name, TestName, (i++).ToString ());
  2345. //}
  2346. static bool CompareMaskTextProviders (object mtp_MS, object mtp_Mono)
  2347. {
  2348. object value_ms, value_mono;
  2349. PropertyInfo [] fields = mtp_MS.GetType ().GetProperties (BindingFlags.Public | BindingFlags.Instance | BindingFlags.GetProperty);
  2350. foreach (PropertyInfo field_MS in fields) {
  2351. if (field_MS.Name == "EditPositions")
  2352. continue;
  2353. if (field_MS.Name == "Culture")
  2354. continue;
  2355. if (field_MS.Name == "Item")
  2356. continue;
  2357. PropertyInfo field_Mono = mtp_Mono.GetType ().GetProperty (field_MS.Name);
  2358. value_ms = field_MS.GetValue (mtp_MS, null);
  2359. value_mono = field_Mono.GetValue (mtp_Mono, null);
  2360. if (!Compare (value_ms, value_mono)) {
  2361. return false;
  2362. }
  2363. }
  2364. MethodInfo method_MS, method_Mono;
  2365. string name;
  2366. Type [] args;
  2367. object [] all_values = new object [] {
  2368. new object [] {},
  2369. new object [] {true},
  2370. new object [] {false},
  2371. new object [] {true, true},
  2372. new object [] {false, true},
  2373. new object [] {true, false},
  2374. new object [] {false, false},
  2375. };
  2376. name = "ToString";
  2377. foreach (object [] values in all_values) {
  2378. args = new Type [values.Length];
  2379. for (int i = 0; i < values.Length; i++) {
  2380. args [i] = values [i].GetType ();
  2381. }
  2382. method_Mono = mtp_Mono.GetType ().GetMethod (name, args);
  2383. method_MS = mtp_MS.GetType ().GetMethod (name, args);
  2384. value_ms = method_MS.Invoke (mtp_MS, values);
  2385. value_mono = method_Mono.Invoke (mtp_Mono, values);
  2386. if (!Compare (value_ms, value_mono)) {
  2387. return false;
  2388. }
  2389. }
  2390. return true;
  2391. }
  2392. static bool Compare (object v1, object v2)
  2393. {
  2394. if (v1 == null && v2 == null) {
  2395. return true;
  2396. } else if (v1 == null ^ v2 == null) {
  2397. return false;
  2398. } else if (v1.GetType ().Name == "MaskedTextResultHint" && v2.GetType ().Name == "MaskedTextResultHint") {
  2399. return (int)v1 == (int)v2;
  2400. } else if (v1.GetType ().FullName == "System.Collections.Generic.List`1+Enumerator[[System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]" && v2.GetType ().FullName == v1.GetType ().FullName) {
  2401. List <int>.Enumerator list1, list2;
  2402. list1 = (List<int>.Enumerator) v1;
  2403. list2 = (List<int>.Enumerator) v2;
  2404. int item1, item2;
  2405. bool next1, next2;
  2406. do {
  2407. next1 = list1.MoveNext ();
  2408. next2 = list2.MoveNext ();
  2409. if (next1 ^ next2) {
  2410. return false;
  2411. }
  2412. if (!next1 && !next2) {
  2413. return true;
  2414. }
  2415. item1 = list1.Current;
  2416. item2 = list2.Current;
  2417. if (item1 != item2) {
  2418. return false;
  2419. }
  2420. } while (true);
  2421. } else if (!v1.Equals (v2)) {
  2422. return false;
  2423. } else {
  2424. return true;
  2425. }
  2426. }
  2427. static bool Compare (string methodName, string mask, ref int stateindex, object [] args, ref bool more_states)
  2428. {
  2429. //if (!new StackFrame (1).GetMethod ().Name.Contains (methodName) && !new StackFrame (2).GetMethod ().Name.Contains (methodName)) {
  2430. // Console.WriteLine ("STOP");
  2431. // Console.Read ();
  2432. //}
  2433. bool result = false;
  2434. try {
  2435. if ((current_test_counter - skipped_test_counter) > MAXFAILEDTESTS) {
  2436. more_states = false;
  2437. return true;
  2438. }
  2439. object [] args_MS, args_Mono;
  2440. object mtp_MS, mtp_Mono;
  2441. dont_write = true;
  2442. args_MS = new object [args.Length];
  2443. args_Mono = new object [args.Length];
  2444. CreateObjects (out mtp_MS, out mtp_Mono, mask);
  2445. for (int i = 0; i < args.Length; i++) {
  2446. if (args [i] != null && args [i].GetType ().Name == "MaskedTextResultHint") {
  2447. args_Mono [i] = Enum.ToObject (type_Hint_Mono, (int)args [i]);
  2448. args_MS [i] = Enum.ToObject (type_Hint_MS, (int)args [i]);
  2449. } else {
  2450. args_Mono [i] = args [i];
  2451. args_MS [i] = args [i];
  2452. }
  2453. }
  2454. more_states = CreateState (mtp_MS, stateindex);
  2455. more_states = CreateState (mtp_Mono, stateindex);
  2456. if (mtp_MS.GetType ().GetProperty (methodName) != null) {
  2457. methodName = "get_" + methodName;
  2458. }
  2459. object result_MS, result_Mono;
  2460. result_MS = mtp_MS.GetType ().InvokeMember (methodName, BindingFlags.Public | BindingFlags.Instance | BindingFlags.InvokeMethod, null, mtp_MS, args_MS);
  2461. result_Mono = mtp_Mono.GetType ().InvokeMember (methodName, BindingFlags.Public | BindingFlags.Instance | BindingFlags.InvokeMethod, null, mtp_Mono, args_Mono);
  2462. result = true;
  2463. for (int arg = 0; arg < args_Mono.Length; arg++) {
  2464. if (!Compare (args_MS [arg], args_Mono [arg])) {
  2465. result = false;
  2466. break;
  2467. }
  2468. }
  2469. if (result && !CompareMaskTextProviders (mtp_MS, mtp_Mono)) {
  2470. result = false;
  2471. }
  2472. if (result && !Compare (result_MS, result_Mono)) {
  2473. result = false;
  2474. }
  2475. } catch (Exception ex) {
  2476. result = false;
  2477. more_states = false;
  2478. Console.WriteLine (ex.Message);
  2479. } finally {
  2480. dont_write = false;
  2481. if (result) {
  2482. current_test_counter++;
  2483. skipped_test_counter++;
  2484. stateindex++;
  2485. }
  2486. }
  2487. return result;
  2488. }
  2489. static void WriteAssertPropertiesMethod ()
  2490. {
  2491. string filecontents = File.ReadAllText (Path.Combine (Path.GetDirectoryName (Path.GetFullPath (destination_file)), "MaskedTextProviderTest.cs"));
  2492. string method;
  2493. int start, end;
  2494. start = filecontents.IndexOf ("/*" + " START */"); // strings are split in two so to not match itself.
  2495. end = filecontents.IndexOf ("/*" + " END */");
  2496. method = filecontents.Substring (start + 11, end - start - 11);
  2497. WriteLineNonFormat (method.Replace ("{", "{").Replace ("}", "}"));
  2498. //public static void AssertProperties (MaskedTextProvider mtp, string test_name, int counter, bool allow_prompt, bool ascii_only, int assigned_edit_position_count, int available_edit_position_count,
  2499. // CultureInfo culture, int edit_position_count, bool include_literals, bool include_prompt, bool is_password, int last_assigned_position,
  2500. // int length, string mask, bool mask_completed, bool mask_full, char password_char, char prompt_char, bool reset_on_prompt, bool reset_on_space, bool skip_literals,
  2501. // string tostring, string tostring_true, string tostring_false, string tostring_true_true, string tostring_true_false, string tostring_false_true, string tostring_false_false)
  2502. // {
  2503. // // Testing all properties...
  2504. // //return;
  2505. // int i = 1;
  2506. // Assert.AreEqual (allow_prompt, mtp.AllowPromptAsInput, string.Format(""{0}-#{1} (AllowPromptAsInput)"", test_name + counter.ToString (), (i++).ToString ()));
  2507. // Assert.AreEqual (ascii_only, mtp.AsciiOnly, string.Format(""{0}-#{1} (AsciiOnly)"", test_name + counter.ToString (), (i++).ToString ()));
  2508. // Assert.AreEqual (assigned_edit_position_count, mtp.AssignedEditPositionCount, string.Format(""{0}-#{1} (AssignedEditPositionCount)"", test_name + counter.ToString (), (i++).ToString ()));
  2509. // Assert.AreEqual (available_edit_position_count, mtp.AvailableEditPositionCount, string.Format(""{0}-#{1} (AvailableEditPositionCount)"", test_name + counter.ToString (), (i++).ToString ()));
  2510. // Assert.AreEqual (culture, mtp.Culture, string.Format(""{0}-#{1} (Culture)"", test_name + counter.ToString (), (i++).ToString ()));
  2511. // Assert.AreEqual (edit_position_count, mtp.EditPositionCount, string.Format(""{0}-#{1} (EditPositionCount)"", test_name + counter.ToString (), (i++).ToString ()));
  2512. // //Assert.AreEqual ({0}, mtp.EditPositions,string.Format( ""{0}-#{1} (EditPositions)"", test_name + counter.ToString (), (i++).ToString ()));
  2513. // Assert.AreEqual (include_literals, mtp.IncludeLiterals, string.Format(""{0}-#{1} (IncludeLiterals)"", test_name + counter.ToString (), (i++).ToString ()));
  2514. // Assert.AreEqual (include_prompt, mtp.IncludePrompt, string.Format(""{0}-#{1} (IncludePrompt)"", test_name + counter.ToString (), (i++).ToString ()));
  2515. // Assert.AreEqual (is_password, mtp.IsPassword, string.Format(""{0}-#{1} (IsPassword)"", test_name + counter.ToString (), (i++).ToString ()));
  2516. // Assert.AreEqual (last_assigned_position, mtp.LastAssignedPosition, string.Format(""{0}-#{1} (LastAssignedPosition)"", test_name + counter.ToString (), (i++).ToString ()));
  2517. // Assert.AreEqual (length, mtp.Length, string.Format(""{0}-#{1} (Length)"", test_name + counter.ToString (), (i++).ToString ()));
  2518. // Assert.AreEqual (mask, mtp.Mask, string.Format(""{0}-#{1} (Mask)"", test_name + counter.ToString (), (i++).ToString ()));
  2519. // Assert.AreEqual (mask_completed, mtp.MaskCompleted, string.Format(""{0}-#{1} (MaskCompleted)"", test_name + counter.ToString (), (i++).ToString ()));
  2520. // Assert.AreEqual (mask_full, mtp.MaskFull, string.Format(""{0}-#{1} (MaskFull)"", test_name + counter.ToString (), (i++).ToString ()));
  2521. // Assert.AreEqual (password_char, mtp.PasswordChar, string.Format(""{0}-#{1} (PasswordChar)"", test_name + counter.ToString (), (i++).ToString ()));
  2522. // Assert.AreEqual (prompt_char, mtp.PromptChar, string.Format(""{0}-#{1} (PromptChar)"", test_name + counter.ToString (), (i++).ToString ()));
  2523. // Assert.AreEqual (reset_on_prompt, mtp.ResetOnPrompt, string.Format(""{0}-#{1} (ResetOnPrompt)"", test_name + counter.ToString (), (i++).ToString ()));
  2524. // Assert.AreEqual (reset_on_space, mtp.ResetOnSpace, string.Format(""{0}-#{1} (ResetOnSpace)"", test_name + counter.ToString (), (i++).ToString ()));
  2525. // Assert.AreEqual (skip_literals, mtp.SkipLiterals, string.Format(""{0}-#{1} (SkipLiterals)"", test_name + counter.ToString (), (i++).ToString ()));
  2526. // Assert.AreEqual (tostring, mtp.ToString (), string.Format(""{0}-#{1} (tostring)"", test_name + counter.ToString (), (i++).ToString ()));
  2527. // Assert.AreEqual (tostring_true, mtp.ToString (true), string.Format(""{0}-#{1} (tostring_true)"", test_name + counter.ToString (), (i++).ToString ()));
  2528. // Assert.AreEqual (tostring_false, mtp.ToString (false), string.Format(""{0}-#{1} (tostring_false)"", test_name + counter.ToString (), (i++).ToString ()));
  2529. // Assert.AreEqual (tostring_true_true, mtp.ToString (true, true), string.Format(""{0}-#{1} (tostring_true_true)"", test_name + counter.ToString (), (i++).ToString ()));
  2530. // Assert.AreEqual (tostring_true_false, mtp.ToString (true, false), string.Format(""{0}-#{1} (tostring_true_false)"", test_name + counter.ToString (), (i++).ToString ()));
  2531. // Assert.AreEqual (tostring_false_true, mtp.ToString (false, true), string.Format(""{0}-#{1} (tostring_false_true)"", test_name + counter.ToString (), (i++).ToString ()));
  2532. // Assert.AreEqual (tostring_false_false, mtp.ToString (false, false), string.Format(""{0}-#{1} (tostring_false_false)"", test_name + counter.ToString (), (i++).ToString ()));
  2533. // }
  2534. // ".Replace ("{", "{").Replace ("}", "}"));
  2535. }
  2536. static void WriteAssertProperties (MS_System_ComponentModel.MaskedTextProvider mtp, string Name, string TestName, ref int i)
  2537. {
  2538. StringBuilder call = new StringBuilder ();
  2539. call.Append ("MaskedTextProviderTest.AssertProperties (mtp, \"" + TestName + "\", " + (i++).ToString ());
  2540. call.Append (", " + GetStringValue (mtp.AllowPromptAsInput));
  2541. call.Append (", " + GetStringValue (mtp.AsciiOnly));
  2542. call.Append (", " + GetStringValue (mtp.AssignedEditPositionCount));
  2543. call.Append (", " + GetStringValue (mtp.AvailableEditPositionCount));
  2544. call.Append (", " + GetStringValue (mtp.Culture));
  2545. call.Append (", " + GetStringValue (mtp.EditPositionCount));
  2546. //call.Append (", " + GetStringValue (mtp.EditPositions));
  2547. call.Append (", " + GetStringValue (mtp.IncludeLiterals));
  2548. call.Append (", " + GetStringValue (mtp.IncludePrompt));
  2549. call.Append (", " + GetStringValue (mtp.IsPassword));
  2550. call.Append (", " + GetStringValue (mtp.LastAssignedPosition));
  2551. call.Append (", " + GetStringValue (mtp.Length));
  2552. call.Append (", " + GetStringValue (mtp.Mask));
  2553. call.Append (", " + GetStringValue (mtp.MaskCompleted));
  2554. call.Append (", " + GetStringValue (mtp.MaskFull));
  2555. call.Append (", " + GetStringValue (mtp.PasswordChar));
  2556. call.Append (", " + GetStringValue (mtp.PromptChar));
  2557. call.Append (", " + GetStringValue (mtp.ResetOnPrompt));
  2558. call.Append (", " + GetStringValue (mtp.ResetOnSpace));
  2559. call.Append (", " + GetStringValue (mtp.SkipLiterals));
  2560. call.Append (", " + QuoteString (mtp.ToString ()));
  2561. call.Append (", " + QuoteString (mtp.ToString (true)));
  2562. call.Append (", " + QuoteString (mtp.ToString (false)));
  2563. call.Append (", " + QuoteString (mtp.ToString (true, true)));
  2564. call.Append (", " + QuoteString (mtp.ToString (true, false)));
  2565. call.Append (", " + QuoteString (mtp.ToString (false, true)));
  2566. call.Append (", " + QuoteString (mtp.ToString (false, false)));
  2567. call.Append (");");
  2568. WriteLine (call.ToString ());
  2569. }
  2570. static string QuoteString (string str)
  2571. {
  2572. return "@\"" + str.Replace ("\"", "\"\"") + "\"";
  2573. }
  2574. //static void WriteAssertProperties2 (MS_System_ComponentModel.MaskedTextProvider mtp, string Name, string TestName, ref int i)
  2575. //{
  2576. // WriteLine ("// Testing all properties...");
  2577. // //return;
  2578. // WriteLine ("Assert.AreEqual ({0}, {1}.AllowPromptAsInput, \"{2}-#{3}\");", GetStringValue (mtp.AllowPromptAsInput), Name, TestName, (i++).ToString ());
  2579. // WriteLine ("Assert.AreEqual ({0}, {1}.AsciiOnly, \"{2}-#{3}\");", GetStringValue (mtp.AsciiOnly), Name, TestName, (i++).ToString ());
  2580. // WriteLine ("Assert.AreEqual ({0}, {1}.AssignedEditPositionCount, \"{2}-#{3}\");", GetStringValue (mtp.AssignedEditPositionCount), Name, TestName, (i++).ToString ());
  2581. // WriteLine ("Assert.AreEqual ({0}, {1}.AvailableEditPositionCount, \"{2}-#{3}\");", GetStringValue (mtp.AvailableEditPositionCount), Name, TestName, (i++).ToString ());
  2582. // //WriteLine ("Assert.AreEqual ({0}, {1}.Culture, \"{2}-#{3}\");", GetStringValue (mtp.Culture), Name, TestName, (i++).ToString ());
  2583. // WriteLine ("Assert.AreEqual ({0}, {1}.EditPositionCount, \"{2}-#{3}\");", GetStringValue (mtp.EditPositionCount), Name, TestName, (i++).ToString ());
  2584. // //WriteLine ("Assert.AreEqual ({0}, {1}.EditPositions, \"{2}-#{3}\");", GetStringValue (mtp.EditPositions), Name, TestName, (i++).ToString ());
  2585. // WriteLine ("Assert.AreEqual ({0}, {1}.IncludeLiterals, \"{2}-#{3}\");", GetStringValue (mtp.IncludeLiterals), Name, TestName, (i++).ToString ());
  2586. // WriteLine ("Assert.AreEqual ({0}, {1}.IncludePrompt, \"{2}-#{3}\");", GetStringValue (mtp.IncludePrompt), Name, TestName, (i++).ToString ());
  2587. // WriteLine ("Assert.AreEqual ({0}, {1}.IsPassword, \"{2}-#{3}\");", GetStringValue (mtp.IsPassword), Name, TestName, (i++).ToString ());
  2588. // WriteLine ("Assert.AreEqual ({0}, {1}.LastAssignedPosition, \"{2}-#{3}\");", GetStringValue (mtp.LastAssignedPosition), Name, TestName, (i++).ToString ());
  2589. // WriteLine ("Assert.AreEqual ({0}, {1}.Length, \"{2}-#{3}\");", GetStringValue (mtp.Length), Name, TestName, (i++).ToString ());
  2590. // WriteLine ("Assert.AreEqual ({0}, {1}.Mask, \"{2}-#{3}\");", GetStringValue (mtp.Mask), Name, TestName, (i++).ToString ());
  2591. // WriteLine ("Assert.AreEqual ({0}, {1}.MaskCompleted, \"{2}-#{3}\");", GetStringValue (mtp.MaskCompleted), Name, TestName, (i++).ToString ());
  2592. // WriteLine ("Assert.AreEqual ({0}, {1}.MaskFull, \"{2}-#{3}\");", GetStringValue (mtp.MaskFull), Name, TestName, (i++).ToString ());
  2593. // WriteLine ("Assert.AreEqual ({0}, {1}.PasswordChar, \"{2}-#{3}\");", GetStringValue (mtp.PasswordChar), Name, TestName, (i++).ToString ());
  2594. // WriteLine ("Assert.AreEqual ({0}, {1}.PromptChar, \"{2}-#{3}\");", GetStringValue (mtp.PromptChar), Name, TestName, (i++).ToString ());
  2595. // WriteLine ("Assert.AreEqual ({0}, {1}.ResetOnPrompt, \"{2}-#{3}\");", GetStringValue (mtp.ResetOnPrompt), Name, TestName, (i++).ToString ());
  2596. // WriteLine ("Assert.AreEqual ({0}, {1}.ResetOnSpace, \"{2}-#{3}\");", GetStringValue (mtp.ResetOnSpace), Name, TestName, (i++).ToString ());
  2597. // WriteLine ("Assert.AreEqual ({0}, {1}.SkipLiterals, \"{2}-#{3}\");", GetStringValue (mtp.SkipLiterals), Name, TestName, (i++).ToString ());
  2598. //}
  2599. }
  2600. }