RemotePathDoubleQuoteTransformationTest.cs 29 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189
  1. using System;
  2. using Microsoft.VisualStudio.TestTools.UnitTesting;
  3. namespace Renci.SshNet.Tests.Classes
  4. {
  5. [TestClass]
  6. public class RemotePathDoubleQuoteTransformationTest
  7. {
  8. private IRemotePathTransformation _transformation;
  9. [TestInitialize]
  10. public void SetUp()
  11. {
  12. _transformation = new RemotePathDoubleQuoteTransformation();
  13. }
  14. /// <summary>
  15. /// Test cases from triple-slash comments
  16. /// </summary>
  17. [TestMethod]
  18. public void Mixed()
  19. {
  20. Assert.AreEqual("\"/var/log/auth.log\"", _transformation.Transform("/var/log/auth.log"));
  21. Assert.AreEqual("\"/var/mp3/Guns N' Roses\"", _transformation.Transform("/var/mp3/Guns N' Roses"));
  22. Assert.AreEqual("\"/var/garbage!/temp\"", _transformation.Transform("/var/garbage!/temp"));
  23. Assert.AreEqual("\"/var/would be 'kewl'!, not?\"", _transformation.Transform("/var/would be 'kewl'!, not?"));
  24. Assert.AreEqual("\"\"", _transformation.Transform(string.Empty));
  25. Assert.AreEqual("\"Hello \\\"World\\\"\"", _transformation.Transform("Hello \"World\""));
  26. }
  27. [TestMethod]
  28. public void Null()
  29. {
  30. const string path = null;
  31. try
  32. {
  33. _transformation.Transform(path);
  34. Assert.Fail();
  35. }
  36. catch (ArgumentNullException ex)
  37. {
  38. Assert.IsNull(ex.InnerException);
  39. Assert.AreEqual("path", ex.ParamName);
  40. }
  41. }
  42. [TestMethod]
  43. public void Ampersand_Embedded()
  44. {
  45. const string path = "You&Me";
  46. var actual = _transformation.Transform(path);
  47. Assert.AreEqual("\"You&Me\"", actual);
  48. }
  49. [TestMethod]
  50. public void Ampersand_Leading()
  51. {
  52. const string path = "&Or";
  53. var actual = _transformation.Transform(path);
  54. Assert.AreEqual("\"&Or\"", actual);
  55. }
  56. [TestMethod]
  57. public void Ampersand_LeadingAndTrailing()
  58. {
  59. const string path = "&Or&";
  60. var actual = _transformation.Transform(path);
  61. Assert.AreEqual("\"&Or&\"", actual);
  62. }
  63. [TestMethod]
  64. public void Ampersand_Trailing()
  65. {
  66. const string path = "And&";
  67. var actual = _transformation.Transform(path);
  68. Assert.AreEqual("\"And&\"", actual);
  69. }
  70. [TestMethod]
  71. public void Asterisk_Embedded()
  72. {
  73. const string path = "Love*Hate";
  74. var actual = _transformation.Transform(path);
  75. Assert.AreEqual("\"Love*Hate\"", actual);
  76. }
  77. [TestMethod]
  78. public void Asterisk_Leading()
  79. {
  80. const string path = "*Times";
  81. var actual = _transformation.Transform(path);
  82. Assert.AreEqual("\"*Times\"", actual);
  83. }
  84. [TestMethod]
  85. public void Asterisk_LeadingAndTrailing()
  86. {
  87. const string path = "*WAR*";
  88. var actual = _transformation.Transform(path);
  89. Assert.AreEqual("\"*WAR*\"", actual);
  90. }
  91. [TestMethod]
  92. public void Asterisk_Trailing()
  93. {
  94. const string path = "Censor*";
  95. var actual = _transformation.Transform(path);
  96. Assert.AreEqual("\"Censor*\"", actual);
  97. }
  98. [TestMethod]
  99. public void Backslash_Embedded()
  100. {
  101. const string path = "Hello\\World";
  102. var actual = _transformation.Transform(path);
  103. Assert.AreEqual("\"Hello\\World\"", actual);
  104. }
  105. [TestMethod]
  106. public void Backslash_Leading()
  107. {
  108. const string path = "\\Hello";
  109. var actual = _transformation.Transform(path);
  110. Assert.AreEqual("\"\\Hello\"", actual);
  111. }
  112. [TestMethod]
  113. public void Backslash_LeadingAndTrailing()
  114. {
  115. const string path = "\\Hello\\";
  116. var actual = _transformation.Transform(path);
  117. Assert.AreEqual("\"\\Hello\\\"", actual);
  118. }
  119. [TestMethod]
  120. public void Backslash_Trailing()
  121. {
  122. const string path = "HelloWorld\\";
  123. var actual = _transformation.Transform(path);
  124. Assert.AreEqual("\"HelloWorld\\\"", actual);
  125. }
  126. [TestMethod]
  127. public void Backtick_Embedded()
  128. {
  129. const string path = "back`tick";
  130. var actual = _transformation.Transform(path);
  131. Assert.AreEqual("\"back`tick\"", actual);
  132. }
  133. [TestMethod]
  134. public void Backtick_Leading()
  135. {
  136. const string path = "`front";
  137. var actual = _transformation.Transform(path);
  138. Assert.AreEqual("\"`front\"", actual);
  139. }
  140. [TestMethod]
  141. public void Backtick_LeadingAndTrailing()
  142. {
  143. const string path = "`FrontAndBack`";
  144. var actual = _transformation.Transform(path);
  145. Assert.AreEqual("\"`FrontAndBack`\"", actual);
  146. }
  147. [TestMethod]
  148. public void Backtick_Trailing()
  149. {
  150. const string path = "back`";
  151. var actual = _transformation.Transform(path);
  152. Assert.AreEqual("\"back`\"", actual);
  153. }
  154. [TestMethod]
  155. public void Circumflex_Embedded()
  156. {
  157. const string path = "You^Me";
  158. var actual = _transformation.Transform(path);
  159. Assert.AreEqual("\"You^Me\"", actual);
  160. }
  161. [TestMethod]
  162. public void Circumflex_Leading()
  163. {
  164. const string path = "^Or";
  165. var actual = _transformation.Transform(path);
  166. Assert.AreEqual("\"^Or\"", actual);
  167. }
  168. [TestMethod]
  169. public void Circumflex_LeadingAndTrailing()
  170. {
  171. const string path = "^Or^";
  172. var actual = _transformation.Transform(path);
  173. Assert.AreEqual("\"^Or^\"", actual);
  174. }
  175. [TestMethod]
  176. public void Circumflex_Trailing()
  177. {
  178. const string path = "And^";
  179. var actual = _transformation.Transform(path);
  180. Assert.AreEqual("\"And^\"", actual);
  181. }
  182. [TestMethod]
  183. public void CurlyBrackets_Close_Embedded()
  184. {
  185. const string path = "Halo}Devine";
  186. var actual = _transformation.Transform(path);
  187. Assert.AreEqual("\"Halo}Devine\"", actual);
  188. }
  189. [TestMethod]
  190. public void CurlyBrackets_Close_Leading()
  191. {
  192. const string path = "}Open";
  193. var actual = _transformation.Transform(path);
  194. Assert.AreEqual("\"}Open\"", actual);
  195. }
  196. [TestMethod]
  197. public void CurlyBrackets_Close_LeadingAndTrailing()
  198. {
  199. const string path = "}Closed}";
  200. var actual = _transformation.Transform(path);
  201. Assert.AreEqual("\"}Closed}\"", actual);
  202. }
  203. [TestMethod]
  204. public void CurlyBrackets_Close_Trailing()
  205. {
  206. const string path = "Finish}";
  207. var actual = _transformation.Transform(path);
  208. Assert.AreEqual("\"Finish}\"", actual);
  209. }
  210. [TestMethod]
  211. public void CurlyBrackets_Open_Embedded()
  212. {
  213. const string path = "Halo{Devine";
  214. var actual = _transformation.Transform(path);
  215. Assert.AreEqual("\"Halo{Devine\"", actual);
  216. }
  217. [TestMethod]
  218. public void CurlyBrackets_Open_Leading()
  219. {
  220. const string path = "{Open";
  221. var actual = _transformation.Transform(path);
  222. Assert.AreEqual("\"{Open\"", actual);
  223. }
  224. [TestMethod]
  225. public void CurlyBrackets_Open_LeadingAndTrailing()
  226. {
  227. const string path = "{Closed{";
  228. var actual = _transformation.Transform(path);
  229. Assert.AreEqual("\"{Closed{\"", actual);
  230. }
  231. [TestMethod]
  232. public void CurlyBrackets_Open_Trailing()
  233. {
  234. const string path = "Finish{";
  235. var actual = _transformation.Transform(path);
  236. Assert.AreEqual("\"Finish{\"", actual);
  237. }
  238. [TestMethod]
  239. public void Dollar_Embedded()
  240. {
  241. const string path = "IGiveYouOne$ForYourThoughts";
  242. var actual = _transformation.Transform(path);
  243. Assert.AreEqual("\"IGiveYouOne$ForYourThoughts\"", actual);
  244. }
  245. [TestMethod]
  246. public void Dollar_Leading()
  247. {
  248. const string path = "$Blues";
  249. var actual = _transformation.Transform(path);
  250. Assert.AreEqual("\"$Blues\"", actual);
  251. }
  252. [TestMethod]
  253. public void Dollar_LeadingAndTrailing()
  254. {
  255. const string path = "$SUM$";
  256. var actual = _transformation.Transform(path);
  257. Assert.AreEqual("\"$SUM$\"", actual);
  258. }
  259. [TestMethod]
  260. public void Dollar_Trailing()
  261. {
  262. const string path = "NotCravingForMore$";
  263. var actual = _transformation.Transform(path);
  264. Assert.AreEqual("\"NotCravingForMore$\"", actual);
  265. }
  266. [TestMethod]
  267. public void DoubleQuote_Embedded()
  268. {
  269. const string path = "DoNot\"MeOnThis";
  270. var actual = _transformation.Transform(path);
  271. Assert.AreEqual("\"DoNot\\\"MeOnThis\"", actual);
  272. }
  273. [TestMethod]
  274. public void DoubleQuote_Leading()
  275. {
  276. const string path = "\"OrNotToQuote";
  277. var actual = _transformation.Transform(path);
  278. Assert.AreEqual("\"\\\"OrNotToQuote\"", actual);
  279. }
  280. [TestMethod]
  281. public void DoubleQuote_Trailing()
  282. {
  283. const string path = "Famous\"";
  284. var actual = _transformation.Transform(path);
  285. Assert.AreEqual("\"Famous\\\"\"", actual);
  286. }
  287. [TestMethod]
  288. public void DoubleQuote_LeadingAndTrailing()
  289. {
  290. const string path = "\"OrNotTo\"";
  291. var actual = _transformation.Transform(path);
  292. Assert.AreEqual("\"\\\"OrNotTo\\\"\"", actual);
  293. }
  294. [TestMethod]
  295. public void Equals_Embedded()
  296. {
  297. const string path = "You=Me";
  298. var actual = _transformation.Transform(path);
  299. Assert.AreEqual("\"You=Me\"", actual);
  300. }
  301. [TestMethod]
  302. public void Equals_Leading()
  303. {
  304. const string path = "=Or";
  305. var actual = _transformation.Transform(path);
  306. Assert.AreEqual("\"=Or\"", actual);
  307. }
  308. [TestMethod]
  309. public void Equals_LeadingAndTrailing()
  310. {
  311. const string path = "=Or=";
  312. var actual = _transformation.Transform(path);
  313. Assert.AreEqual("\"=Or=\"", actual);
  314. }
  315. [TestMethod]
  316. public void Equals_Trailing()
  317. {
  318. const string path = "And=";
  319. var actual = _transformation.Transform(path);
  320. Assert.AreEqual("\"And=\"", actual);
  321. }
  322. [TestMethod]
  323. public void ExclamationMark_Embedded_Single()
  324. {
  325. const string path = "/var/garbage!/temp";
  326. var actual = _transformation.Transform(path);
  327. Assert.AreEqual("\"/var/garbage!/temp\"", actual);
  328. }
  329. [TestMethod]
  330. public void ExclamationMark_Embedded_Sequence()
  331. {
  332. const string path = "/var/garbage!!/temp";
  333. var actual = _transformation.Transform(path);
  334. Assert.AreEqual("\"/var/garbage!!/temp\"", actual);
  335. }
  336. [TestMethod]
  337. public void ExclamationMark_Leading()
  338. {
  339. const string path = "!Error";
  340. var actual = _transformation.Transform(path);
  341. Assert.AreEqual("\"!Error\"", actual);
  342. }
  343. [TestMethod]
  344. public void ExclamationMark_LeadingAndTrailing()
  345. {
  346. const string path = "!ignore!";
  347. var actual = _transformation.Transform(path);
  348. Assert.AreEqual("\"!ignore!\"", actual);
  349. }
  350. [TestMethod]
  351. public void ExclamationMark_Trailing()
  352. {
  353. const string path = "Done!";
  354. var actual = _transformation.Transform(path);
  355. Assert.AreEqual("\"Done!\"", actual);
  356. }
  357. [TestMethod]
  358. public void GreaterThan_Embedded()
  359. {
  360. const string path = "You>Me";
  361. var actual = _transformation.Transform(path);
  362. Assert.AreEqual("\"You>Me\"", actual);
  363. }
  364. [TestMethod]
  365. public void GreaterThan_Leading()
  366. {
  367. const string path = ">Or";
  368. var actual = _transformation.Transform(path);
  369. Assert.AreEqual("\">Or\"", actual);
  370. }
  371. [TestMethod]
  372. public void GreaterThan_LeadingAndTrailing()
  373. {
  374. const string path = ">Or>";
  375. var actual = _transformation.Transform(path);
  376. Assert.AreEqual("\">Or>\"", actual);
  377. }
  378. [TestMethod]
  379. public void GreaterThan_Trailing()
  380. {
  381. const string path = "And>";
  382. var actual = _transformation.Transform(path);
  383. Assert.AreEqual("\"And>\"", actual);
  384. }
  385. [TestMethod]
  386. public void Hash_Embedded()
  387. {
  388. const string path = "Smoke#EveryDay";
  389. var actual = _transformation.Transform(path);
  390. Assert.AreEqual("\"Smoke#EveryDay\"", actual);
  391. }
  392. [TestMethod]
  393. public void Hash_Leading()
  394. {
  395. const string path = "#4Ever";
  396. var actual = _transformation.Transform(path);
  397. Assert.AreEqual("\"#4Ever\"", actual);
  398. }
  399. [TestMethod]
  400. public void Hash_LeadingAndTrailing()
  401. {
  402. const string path = "#4Ever#";
  403. var actual = _transformation.Transform(path);
  404. Assert.AreEqual("\"#4Ever#\"", actual);
  405. }
  406. [TestMethod]
  407. public void Hash_Trailing()
  408. {
  409. const string path = "Legalize#";
  410. var actual = _transformation.Transform(path);
  411. Assert.AreEqual("\"Legalize#\"", actual);
  412. }
  413. [TestMethod]
  414. public void LessThan_Embedded()
  415. {
  416. const string path = "You<Me";
  417. var actual = _transformation.Transform(path);
  418. Assert.AreEqual("\"You<Me\"", actual);
  419. }
  420. [TestMethod]
  421. public void LessThan_Leading()
  422. {
  423. const string path = "<Or";
  424. var actual = _transformation.Transform(path);
  425. Assert.AreEqual("\"<Or\"", actual);
  426. }
  427. [TestMethod]
  428. public void LessThan_LeadingAndTrailing()
  429. {
  430. const string path = "<Or<";
  431. var actual = _transformation.Transform(path);
  432. Assert.AreEqual("\"<Or<\"", actual);
  433. }
  434. [TestMethod]
  435. public void LessThan_Trailing()
  436. {
  437. const string path = "And<";
  438. var actual = _transformation.Transform(path);
  439. Assert.AreEqual("\"And<\"", actual);
  440. }
  441. [TestMethod]
  442. public void NewLine_Embedded()
  443. {
  444. const string path = "line\nfeed";
  445. var actual = _transformation.Transform(path);
  446. Assert.AreEqual("\"line\nfeed\"", actual);
  447. }
  448. [TestMethod]
  449. public void NewLine_Leading()
  450. {
  451. const string path = "\nFooter";
  452. var actual = _transformation.Transform(path);
  453. Assert.AreEqual("\"\nFooter\"", actual);
  454. }
  455. [TestMethod]
  456. public void NewLine_LeadingAndTrailing()
  457. {
  458. const string path = "\nBanner\n";
  459. var actual = _transformation.Transform(path);
  460. Assert.AreEqual("\"\nBanner\n\"", actual);
  461. }
  462. [TestMethod]
  463. public void NewLine_Trailing()
  464. {
  465. const string path = "Header\n";
  466. var actual = _transformation.Transform(path);
  467. Assert.AreEqual("\"Header\n\"", actual);
  468. }
  469. [TestMethod]
  470. public void Parentheses_Close_Embedded()
  471. {
  472. const string path = "Halo)Devine";
  473. var actual = _transformation.Transform(path);
  474. Assert.AreEqual("\"Halo)Devine\"", actual);
  475. }
  476. [TestMethod]
  477. public void Parentheses_Close_Leading()
  478. {
  479. const string path = ")Open";
  480. var actual = _transformation.Transform(path);
  481. Assert.AreEqual("\")Open\"", actual);
  482. }
  483. [TestMethod]
  484. public void Parentheses_Close_LeadingAndTrailing()
  485. {
  486. const string path = ")Closed)";
  487. var actual = _transformation.Transform(path);
  488. Assert.AreEqual("\")Closed)\"", actual);
  489. }
  490. [TestMethod]
  491. public void Parentheses_Close_Trailing()
  492. {
  493. const string path = "Finish)";
  494. var actual = _transformation.Transform(path);
  495. Assert.AreEqual("\"Finish)\"", actual);
  496. }
  497. [TestMethod]
  498. public void Parentheses_Open_Embedded()
  499. {
  500. const string path = "Halo(Devine";
  501. var actual = _transformation.Transform(path);
  502. Assert.AreEqual("\"Halo(Devine\"", actual);
  503. }
  504. [TestMethod]
  505. public void Parentheses_Open_Leading()
  506. {
  507. const string path = "(Open";
  508. var actual = _transformation.Transform(path);
  509. Assert.AreEqual("\"(Open\"", actual);
  510. }
  511. [TestMethod]
  512. public void Parentheses_Open_LeadingAndTrailing()
  513. {
  514. const string path = "(Closed(";
  515. var actual = _transformation.Transform(path);
  516. Assert.AreEqual("\"(Closed(\"", actual);
  517. }
  518. [TestMethod]
  519. public void Parentheses_Open_Trailing()
  520. {
  521. const string path = "Finish(";
  522. var actual = _transformation.Transform(path);
  523. Assert.AreEqual("\"Finish(\"", actual);
  524. }
  525. [TestMethod]
  526. public void Percentage_Embedded()
  527. {
  528. const string path = "Ten%OfOneDollarIsTenCent";
  529. var actual = _transformation.Transform(path);
  530. Assert.AreEqual("\"Ten%OfOneDollarIsTenCent\"", actual);
  531. }
  532. [TestMethod]
  533. public void Percentage_Leading()
  534. {
  535. const string path = "%MoreOrLess";
  536. var actual = _transformation.Transform(path);
  537. Assert.AreEqual("\"%MoreOrLess\"", actual);
  538. }
  539. [TestMethod]
  540. public void Percentage_LeadingAndTrailing()
  541. {
  542. const string path = "%USERNAME%";
  543. var actual = _transformation.Transform(path);
  544. Assert.AreEqual("\"%USERNAME%\"", actual);
  545. }
  546. [TestMethod]
  547. public void Percentage_Trailing()
  548. {
  549. const string path = "TakeA%";
  550. var actual = _transformation.Transform(path);
  551. Assert.AreEqual("\"TakeA%\"", actual);
  552. }
  553. [TestMethod]
  554. public void Pipe_Embedded()
  555. {
  556. const string path = "You|Me";
  557. var actual = _transformation.Transform(path);
  558. Assert.AreEqual("\"You|Me\"", actual);
  559. }
  560. [TestMethod]
  561. public void Pipe_Leading()
  562. {
  563. const string path = "|Or";
  564. var actual = _transformation.Transform(path);
  565. Assert.AreEqual("\"|Or\"", actual);
  566. }
  567. [TestMethod]
  568. public void Pipe_LeadingAndTrailing()
  569. {
  570. const string path = "|Or|";
  571. var actual = _transformation.Transform(path);
  572. Assert.AreEqual("\"|Or|\"", actual);
  573. }
  574. [TestMethod]
  575. public void Pipe_Trailing()
  576. {
  577. const string path = "And|";
  578. var actual = _transformation.Transform(path);
  579. Assert.AreEqual("\"And|\"", actual);
  580. }
  581. [TestMethod]
  582. public void QuestionMark_Embedded()
  583. {
  584. const string path = "WhatTimeIsIt?SheSaid";
  585. var actual = _transformation.Transform(path);
  586. Assert.AreEqual("\"WhatTimeIsIt?SheSaid\"", actual);
  587. }
  588. [TestMethod]
  589. public void QuestionMark_Leading()
  590. {
  591. const string path = "?Quizz";
  592. var actual = _transformation.Transform(path);
  593. Assert.AreEqual("\"?Quizz\"", actual);
  594. }
  595. [TestMethod]
  596. public void QuestionMark_LeadingAndTrailing()
  597. {
  598. const string path = "?Crazy?";
  599. var actual = _transformation.Transform(path);
  600. Assert.AreEqual("\"?Crazy?\"", actual);
  601. }
  602. [TestMethod]
  603. public void QuestionMark_Trailing()
  604. {
  605. const string path = "WhatTimeIsLove?";
  606. var actual = _transformation.Transform(path);
  607. Assert.AreEqual("\"WhatTimeIsLove?\"", actual);
  608. }
  609. [TestMethod]
  610. public void Semicolon_Embedded()
  611. {
  612. const string path = "Rain;Storm";
  613. var actual = _transformation.Transform(path);
  614. Assert.AreEqual("\"Rain;Storm\"", actual);
  615. }
  616. [TestMethod]
  617. public void Semicolon_Leading()
  618. {
  619. const string path = ";List";
  620. var actual = _transformation.Transform(path);
  621. Assert.AreEqual("\";List\"", actual);
  622. }
  623. [TestMethod]
  624. public void Semicolon_LeadingAndTrailing()
  625. {
  626. const string path = ";Trapped;";
  627. var actual = _transformation.Transform(path);
  628. Assert.AreEqual("\";Trapped;\"", actual);
  629. }
  630. [TestMethod]
  631. public void Semicolon_Trailing()
  632. {
  633. const string path = "Time;";
  634. var actual = _transformation.Transform(path);
  635. Assert.AreEqual("\"Time;\"", actual);
  636. }
  637. [TestMethod]
  638. public void SingleQuote_Embedded_Single()
  639. {
  640. const string path = "Rain'Storm";
  641. var actual = _transformation.Transform(path);
  642. Assert.AreEqual("\"Rain'Storm\"", actual);
  643. }
  644. [TestMethod]
  645. public void SingleQuote_Embedded_Sequence()
  646. {
  647. const string path = "Rain''Storm";
  648. var actual = _transformation.Transform(path);
  649. Assert.AreEqual("\"Rain''Storm\"", actual);
  650. }
  651. [TestMethod]
  652. public void SingleQuote_Leading()
  653. {
  654. const string path = "'List";
  655. var actual = _transformation.Transform(path);
  656. Assert.AreEqual("\"'List\"", actual);
  657. }
  658. [TestMethod]
  659. public void SingleQuote_LeadingAndTrailing()
  660. {
  661. const string path = "'Trapped'";
  662. var actual = _transformation.Transform(path);
  663. Assert.AreEqual("\"'Trapped'\"", actual);
  664. }
  665. [TestMethod]
  666. public void SingleQuote_Trailing()
  667. {
  668. const string path = "Time'";
  669. var actual = _transformation.Transform(path);
  670. Assert.AreEqual("\"Time'\"", actual);
  671. }
  672. [TestMethod]
  673. public void SingleQuoteAndExclamationMark_Embedded()
  674. {
  675. const string path = "Rain'!Storm";
  676. var actual = _transformation.Transform(path);
  677. Assert.AreEqual("\"Rain'!Storm\"", actual);
  678. }
  679. [TestMethod]
  680. public void SingleQuoteAndExclamationMark_Leading()
  681. {
  682. const string path = "'!Rain";
  683. var actual = _transformation.Transform(path);
  684. Assert.AreEqual("\"'!Rain\"", actual);
  685. }
  686. [TestMethod]
  687. public void SingleQuoteAndExclamationMark_LeadingAndTrailing()
  688. {
  689. const string path = "'!Rain'!";
  690. var actual = _transformation.Transform(path);
  691. Assert.AreEqual("\"'!Rain'!\"", actual);
  692. }
  693. [TestMethod]
  694. public void SingleQuoteAndExclamationMark_Trailing()
  695. {
  696. const string path = "Rain'!";
  697. var actual = _transformation.Transform(path);
  698. Assert.AreEqual("\"Rain'!\"", actual);
  699. }
  700. [TestMethod]
  701. public void Space_Embedded()
  702. {
  703. const string path = "You Me";
  704. var actual = _transformation.Transform(path);
  705. Assert.AreEqual("\"You Me\"", actual);
  706. }
  707. [TestMethod]
  708. public void Space_Leading()
  709. {
  710. const string path = " Or";
  711. var actual = _transformation.Transform(path);
  712. Assert.AreEqual("\" Or\"", actual);
  713. }
  714. [TestMethod]
  715. public void Space_LeadingAndTrailing()
  716. {
  717. const string path = " Or ";
  718. var actual = _transformation.Transform(path);
  719. Assert.AreEqual("\" Or \"", actual);
  720. }
  721. [TestMethod]
  722. public void Space_Trailing()
  723. {
  724. const string path = "And ";
  725. var actual = _transformation.Transform(path);
  726. Assert.AreEqual("\"And \"", actual);
  727. }
  728. [TestMethod]
  729. public void SquareBrackets_Close_Embedded()
  730. {
  731. const string path = "Halo]Devine";
  732. var actual = _transformation.Transform(path);
  733. Assert.AreEqual("\"Halo]Devine\"", actual);
  734. }
  735. [TestMethod]
  736. public void SquareBrackets_Close_Leading()
  737. {
  738. const string path = "]Open";
  739. var actual = _transformation.Transform(path);
  740. Assert.AreEqual("\"]Open\"", actual);
  741. }
  742. [TestMethod]
  743. public void SquareBrackets_Close_LeadingAndTrailing()
  744. {
  745. const string path = "]Closed]";
  746. var actual = _transformation.Transform(path);
  747. Assert.AreEqual("\"]Closed]\"", actual);
  748. }
  749. [TestMethod]
  750. public void SquareBrackets_Close_Trailing()
  751. {
  752. const string path = "Finish]";
  753. var actual = _transformation.Transform(path);
  754. Assert.AreEqual("\"Finish]\"", actual);
  755. }
  756. [TestMethod]
  757. public void SquareBrackets_Open_Embedded()
  758. {
  759. const string path = "Halo[Devine";
  760. var actual = _transformation.Transform(path);
  761. Assert.AreEqual("\"Halo[Devine\"", actual);
  762. }
  763. [TestMethod]
  764. public void SquareBrackets_Open_Leading()
  765. {
  766. const string path = "[Open";
  767. var actual = _transformation.Transform(path);
  768. Assert.AreEqual("\"[Open\"", actual);
  769. }
  770. [TestMethod]
  771. public void SquareBrackets_Open_LeadingAndTrailing()
  772. {
  773. const string path = "[Closed[";
  774. var actual = _transformation.Transform(path);
  775. Assert.AreEqual("\"[Closed[\"", actual);
  776. }
  777. [TestMethod]
  778. public void SquareBrackets_Open_Trailing()
  779. {
  780. const string path = "Finish[";
  781. var actual = _transformation.Transform(path);
  782. Assert.AreEqual("\"Finish[\"", actual);
  783. }
  784. [TestMethod]
  785. public void Tab_Embedded()
  786. {
  787. const string path = "You\tMe";
  788. var actual = _transformation.Transform(path);
  789. Assert.AreEqual("\"You\tMe\"", actual);
  790. }
  791. [TestMethod]
  792. public void Tab_Leading()
  793. {
  794. const string path = "\tOr";
  795. var actual = _transformation.Transform(path);
  796. Assert.AreEqual("\"\tOr\"", actual);
  797. }
  798. [TestMethod]
  799. public void Tab_LeadingAndTrailing()
  800. {
  801. const string path = "\tOr\t";
  802. var actual = _transformation.Transform(path);
  803. Assert.AreEqual("\"\tOr\t\"", actual);
  804. }
  805. [TestMethod]
  806. public void Tab_Trailing()
  807. {
  808. const string path = "And\t";
  809. var actual = _transformation.Transform(path);
  810. Assert.AreEqual("\"And\t\"", actual);
  811. }
  812. [TestMethod]
  813. public void Tilde_Embedded()
  814. {
  815. const string path = "Seven~Nine";
  816. var actual = _transformation.Transform(path);
  817. Assert.AreEqual("\"Seven~Nine\"", actual);
  818. }
  819. [TestMethod]
  820. public void Tilde_Leading()
  821. {
  822. const string path = "~Ten";
  823. var actual = _transformation.Transform(path);
  824. Assert.AreEqual("\"~Ten\"", actual);
  825. }
  826. [TestMethod]
  827. public void Tilde_LeadingAndTrailing()
  828. {
  829. const string path = "~One~";
  830. var actual = _transformation.Transform(path);
  831. Assert.AreEqual("\"~One~\"", actual);
  832. }
  833. [TestMethod]
  834. public void Tilde_Trailing()
  835. {
  836. const string path = "Two~";
  837. var actual = _transformation.Transform(path);
  838. Assert.AreEqual("\"Two~\"", actual);
  839. }
  840. }
  841. }