PageRenderTime 46ms CodeModel.GetById 15ms RepoModel.GetById 1ms app.codeStats 0ms

/FluentStrings.Tests/Remove/RemoveToFirstOccurrenceTests.cs

http://fluentstrings.codeplex.com
C# | 621 lines | 528 code | 93 blank | 0 comment | 0 complexity | 3478537e9b42b4384910b5c3377bddd3 MD5 | raw file
Possible License(s): CC-BY-SA-3.0
  1. using System;
  2. using FluentAssertions;
  3. using NUnit.Framework;
  4. namespace dokas.FluentStrings.Tests
  5. {
  6. [TestFixture]
  7. public class RemoveToFirstOccurrenceTests
  8. {
  9. #region Remove To First Occurrence
  10. [Test]
  11. public void RemoveToFirstOccurrenceOfNullInNullString()
  12. {
  13. string transformed = Const.NullString.Remove().To(null);
  14. transformed.Should().Be(Const.NullString);
  15. }
  16. [Test]
  17. public void RemoveToFirstOccurrenceOfEmptyMarkerInNullString()
  18. {
  19. string transformed = Const.NullString.Remove().To(String.Empty);
  20. transformed.Should().Be(Const.NullString);
  21. }
  22. [Test]
  23. public void RemoveToFirstOccurrenceInNullString()
  24. {
  25. string transformed = Const.NullString.Remove().To(Const.SampleMarker);
  26. transformed.Should().Be(Const.NullString);
  27. }
  28. [Test]
  29. public void RemoveToFirstOccurrenceOfNullInEmptyString()
  30. {
  31. string transformed = String.Empty.Remove().To(null);
  32. transformed.Should().Be(String.Empty);
  33. }
  34. [Test]
  35. public void RemoveToFirstOccurrenceOfEmptyMarkerInEmptyString()
  36. {
  37. string transformed = String.Empty.Remove().To(String.Empty);
  38. transformed.Should().Be(String.Empty);
  39. }
  40. [Test]
  41. public void RemoveToFirstOccurrenceInEmptyString()
  42. {
  43. string transformed = String.Empty.Remove().To(Const.SampleMarker);
  44. transformed.Should().Be(String.Empty);
  45. }
  46. [Test]
  47. public void RemoveToFirstOccurrenceOfNull()
  48. {
  49. string transformed = Const.SampleString.Remove().To(null);
  50. transformed.Should().Be(Const.SampleString);
  51. }
  52. [Test]
  53. public void RemoveToFirstOccurrenceOfEmptyMarker()
  54. {
  55. string transformed = Const.SampleString.Remove().To(String.Empty);
  56. transformed.Should().Be(Const.SampleString);
  57. }
  58. [Test]
  59. public void RemoveToFirstOccurrence()
  60. {
  61. string transformed = "Some very long string".Remove().To("long");
  62. transformed.Should().Be("long string");
  63. }
  64. [Test]
  65. public void RemoveToFirstOccurrenceAtBeginning()
  66. {
  67. string transformed = "Some very long string".Remove().To("Some");
  68. transformed.Should().Be("Some very long string");
  69. }
  70. [Test]
  71. public void RemoveToFirstOccurrenceAtEnd()
  72. {
  73. string transformed = "Some very long string".Remove().To("string");
  74. transformed.Should().Be("string");
  75. }
  76. [Test]
  77. public void RemoveToFirstOccurrenceCaseSensitive()
  78. {
  79. string transformed = "Some very long string".Remove().To("Long");
  80. transformed.Should().Be("Some very long string");
  81. }
  82. [Test]
  83. public void RemoveToFirstOccurrenceHavingTwoOccurrences()
  84. {
  85. string transformed = "Some very very long string".Remove().To("very");
  86. transformed.Should().Be("very very long string");
  87. }
  88. [Test]
  89. public void RemoveToFirstAbsentOccurrence()
  90. {
  91. string transformed = Const.SampleString.Remove().To(Const.SampleMarker);
  92. transformed.Should().Be(Const.SampleString);
  93. }
  94. #endregion
  95. #region Remove To First Occurrence From
  96. [Test]
  97. public void RemoveToFirstOccurrenceOfNullFromBeginningInNullString()
  98. {
  99. string transformed = Const.NullString.Remove().To(null).From(The.Beginning);
  100. transformed.Should().Be(Const.NullString);
  101. }
  102. [Test]
  103. public void RemoveToFirstOccurrenceOfNullFromEndInNullString()
  104. {
  105. string transformed = Const.NullString.Remove().To(null).From(The.End);
  106. transformed.Should().Be(Const.NullString);
  107. }
  108. [Test]
  109. public void RemoveToFirstOccurrenceOfEmptyMarkerFromBeginningInNullString()
  110. {
  111. string transformed = Const.NullString.Remove().To(String.Empty).From(The.Beginning);
  112. transformed.Should().Be(Const.NullString);
  113. }
  114. [Test]
  115. public void RemoveToFirstOccurrenceOfEmptyMarkerFromEndInNullString()
  116. {
  117. string transformed = Const.NullString.Remove().To(String.Empty).From(The.End);
  118. transformed.Should().Be(Const.NullString);
  119. }
  120. [Test]
  121. public void RemoveToFirstOccurrenceFromBeginningInNullString()
  122. {
  123. string transformed = Const.NullString.Remove().To(Const.SampleMarker).From(The.Beginning);
  124. transformed.Should().Be(Const.NullString);
  125. }
  126. [Test]
  127. public void RemoveToFirstOccurrenceFromEndInNullString()
  128. {
  129. string transformed = Const.NullString.Remove().To(Const.SampleMarker).From(The.End);
  130. transformed.Should().Be(Const.NullString);
  131. }
  132. [Test]
  133. public void RemoveToFirstOccurrenceOfNullFromBeginningInEmptyString()
  134. {
  135. string transformed = String.Empty.Remove().To(null).From(The.Beginning);
  136. transformed.Should().Be(String.Empty);
  137. }
  138. [Test]
  139. public void RemoveToFirstOccurrenceOfNullFromEndInEmptyString()
  140. {
  141. string transformed = String.Empty.Remove().To(null).From(The.End);
  142. transformed.Should().Be(String.Empty);
  143. }
  144. [Test]
  145. public void RemoveToFirstOccurrenceOfEmptyMarkerFromBeginningInEmptyString()
  146. {
  147. string transformed = String.Empty.Remove().To(String.Empty).From(The.Beginning);
  148. transformed.Should().Be(String.Empty);
  149. }
  150. [Test]
  151. public void RemoveToFirstOccurrenceOfEmptyMarkerFromEndInEmptyString()
  152. {
  153. string transformed = String.Empty.Remove().To(String.Empty).From(The.End);
  154. transformed.Should().Be(String.Empty);
  155. }
  156. [Test]
  157. public void RemoveToFirstOccurrenceFromBeginningInEmptyString()
  158. {
  159. string transformed = String.Empty.Remove().To(Const.SampleMarker).From(The.Beginning);
  160. transformed.Should().Be(String.Empty);
  161. }
  162. [Test]
  163. public void RemoveToFirstOccurrenceFromEndInEmptyString()
  164. {
  165. string transformed = String.Empty.Remove().To(Const.SampleMarker).From(The.End);
  166. transformed.Should().Be(String.Empty);
  167. }
  168. [Test]
  169. public void RemoveToFirstOccurrenceOfNullFromBeginning()
  170. {
  171. string transformed = Const.SampleString.Remove().To(null).From(The.Beginning);
  172. transformed.Should().Be(Const.SampleString);
  173. }
  174. [Test]
  175. public void RemoveToFirstOccurrenceOfNullFromEnd()
  176. {
  177. string transformed = Const.SampleString.Remove().To(null).From(The.End);
  178. transformed.Should().Be(Const.SampleString);
  179. }
  180. [Test]
  181. public void RemoveToFirstOccurrenceOfEmptyMarkerFromBeginning()
  182. {
  183. string transformed = Const.SampleString.Remove().To(String.Empty).From(The.Beginning);
  184. transformed.Should().Be(Const.SampleString);
  185. }
  186. [Test]
  187. public void RemoveToFirstOccurrenceOfEmptyMarkerFromEnd()
  188. {
  189. string transformed = Const.SampleString.Remove().To(String.Empty).From(The.End);
  190. transformed.Should().Be(Const.SampleString);
  191. }
  192. [Test]
  193. public void RemoveToFirstOccurrenceFromStartOf()
  194. {
  195. Action action = () => Const.SampleString.Remove().To(Const.SampleMarker).From(The.StartOf).ToString();
  196. action.ShouldThrow<ArgumentOutOfRangeException>();
  197. }
  198. [Test]
  199. public void RemoveToFirstOccurrenceFromEndOf()
  200. {
  201. Action action = () => Const.SampleString.Remove().To(Const.SampleMarker).From(The.EndOf).ToString();
  202. action.ShouldThrow<ArgumentOutOfRangeException>();
  203. }
  204. [Test]
  205. public void RemoveToFirstOccurrenceFromBeginning()
  206. {
  207. string transformed = "Some very long string".Remove().To("long").From(The.Beginning);
  208. transformed.Should().Be("long string");
  209. }
  210. [Test]
  211. public void RemoveToFirstOccurrenceFromEnd()
  212. {
  213. string transformed = "Some very long string".Remove().To("very").From(The.End);
  214. transformed.Should().Be("very long string");
  215. }
  216. [Test]
  217. public void RemoveToFirstOccurrenceFromBeginningAtBeginning()
  218. {
  219. string transformed = "Some very long string".Remove().To("Some").From(The.Beginning);
  220. transformed.Should().Be("Some very long string");
  221. }
  222. [Test]
  223. public void RemoveToFirstOccurrenceFromEndAtBeginning()
  224. {
  225. string transformed = "Some very long string".Remove().To("Some").From(The.End);
  226. transformed.Should().Be("Some very long string");
  227. }
  228. [Test]
  229. public void RemoveToFirstOccurrenceFromBeginningAtEnd()
  230. {
  231. string transformed = "Some very long string".Remove().To("string").From(The.Beginning);
  232. transformed.Should().Be("string");
  233. }
  234. [Test]
  235. public void RemoveToFirstOccurrenceFromEndAtEnd()
  236. {
  237. string transformed = "Some very long string".Remove().To("string").From(The.End);
  238. transformed.Should().Be("string");
  239. }
  240. [Test]
  241. public void RemoveToFirstOccurrenceFromBeginningCaseSensitive()
  242. {
  243. string transformed = "Some very long string".Remove().To("Long").From(The.Beginning);
  244. transformed.Should().Be("Some very long string");
  245. }
  246. [Test]
  247. public void RemoveToFirstOccurrenceFromEndCaseSensitive()
  248. {
  249. string transformed = "Some very long string".Remove().To("Long").From(The.End);
  250. transformed.Should().Be("Some very long string");
  251. }
  252. [Test]
  253. public void RemoveToFirstOccurrenceFromBeginningHavingTwoOccurrences()
  254. {
  255. string transformed = "Some very very long string".Remove().To("very").From(The.Beginning);
  256. transformed.Should().Be("very very long string");
  257. }
  258. [Test]
  259. public void RemoveToFirstOccurrenceFromEndHavingTwoOccurrences()
  260. {
  261. string transformed = "Some very very long string".Remove().To("very").From(The.End);
  262. transformed.Should().Be("very long string");
  263. }
  264. [Test]
  265. public void RemoveToFirstAbsentOccurrenceFromBeginning()
  266. {
  267. string transformed = Const.SampleString.Remove().To(Const.SampleMarker).From(The.Beginning);
  268. transformed.Should().Be(Const.SampleString);
  269. }
  270. [Test]
  271. public void RemoveToFirstAbsentOccurrenceFromEnd()
  272. {
  273. string transformed = Const.SampleString.Remove().To(Const.SampleMarker).From(The.End);
  274. transformed.Should().Be(Const.SampleString);
  275. }
  276. #endregion
  277. #region Remove To First Occurrence Ignoring Case
  278. [Test]
  279. public void RemoveToFirstOccurrenceOfNullIgnoringCaseInNullString()
  280. {
  281. string transformed = Const.NullString.Remove().To(null).IgnoringCase();
  282. transformed.Should().Be(Const.NullString);
  283. }
  284. [Test]
  285. public void RemoveToFirstOccurrenceOfEmptyMarkerIgnoringCaseInNullString()
  286. {
  287. string transformed = Const.NullString.Remove().To(String.Empty).IgnoringCase();
  288. transformed.Should().Be(Const.NullString);
  289. }
  290. [Test]
  291. public void RemoveToFirstOccurrenceIgnoringCaseInNullString()
  292. {
  293. string transformed = Const.NullString.Remove().To(Const.SampleMarker).IgnoringCase();
  294. transformed.Should().Be(Const.NullString);
  295. }
  296. [Test]
  297. public void RemoveToFirstOccurrenceOfNullIgnoringCaseInEmptyString()
  298. {
  299. string transformed = String.Empty.Remove().To(null).IgnoringCase();
  300. transformed.Should().Be(String.Empty);
  301. }
  302. [Test]
  303. public void RemoveToFirstOccurrenceOfEmptyMarkerIgnoringCaseInEmptyString()
  304. {
  305. string transformed = String.Empty.Remove().To(String.Empty).IgnoringCase();
  306. transformed.Should().Be(String.Empty);
  307. }
  308. [Test]
  309. public void RemoveToFirstOccurrenceInEmptyStringIgnoringCase()
  310. {
  311. string transformed = String.Empty.Remove().To(Const.SampleMarker).IgnoringCase();
  312. transformed.Should().Be(String.Empty);
  313. }
  314. [Test]
  315. public void RemoveToFirstOccurrenceOfNullIgnoringCase()
  316. {
  317. string transformed = Const.SampleString.Remove().To(null).IgnoringCase();
  318. transformed.Should().Be(Const.SampleString);
  319. }
  320. [Test]
  321. public void RemoveToFirstOccurrenceOfEmptyMarkerIgnoringCase()
  322. {
  323. string transformed = Const.SampleString.Remove().To(String.Empty).IgnoringCase();
  324. transformed.Should().Be(Const.SampleString);
  325. }
  326. [Test]
  327. public void RemoveToFirstOccurrenceIgnoringCase()
  328. {
  329. string transformed = "Some very long string".Remove().To("lOnG").IgnoringCase();
  330. transformed.Should().Be("long string");
  331. }
  332. [Test]
  333. public void RemoveToFirstOccurrenceIgnoringCaseAtBeginning()
  334. {
  335. string transformed = "Some very long string".Remove().To("SOME").IgnoringCase();
  336. transformed.Should().Be("Some very long string");
  337. }
  338. [Test]
  339. public void RemoveToFirstOccurrenceIgnoringCaseAtEnd()
  340. {
  341. string transformed = "SOME VERY LONG STRING".Remove().To("string").IgnoringCase();
  342. transformed.Should().Be("STRING");
  343. }
  344. [Test]
  345. public void RemoveToFirstOccurrenceIgnoringCaseHavingTwoOccurrences()
  346. {
  347. string transformed = "Some vErY very long string".Remove().To("very").IgnoringCase();
  348. transformed.Should().Be("vErY very long string");
  349. }
  350. [Test]
  351. public void RemoveToFirstAbsentOccurrenceIgnoringCase()
  352. {
  353. string transformed = Const.SampleString.Remove().To(Const.SampleMarker);
  354. transformed.Should().Be(Const.SampleString);
  355. }
  356. #endregion
  357. #region Remove To First Occurrence Ignoring Case From
  358. [Test]
  359. public void RemoveToFirstOccurrenceOfNullIgnoringCaseFromBeginningInNullString()
  360. {
  361. string transformed = Const.NullString.Remove().To(null).IgnoringCase().From(The.Beginning);
  362. transformed.Should().Be(Const.NullString);
  363. }
  364. [Test]
  365. public void RemoveToFirstOccurrenceOfNullIgnoringCaseFromEndInNullString()
  366. {
  367. string transformed = Const.NullString.Remove().To(null).IgnoringCase().From(The.End);
  368. transformed.Should().Be(Const.NullString);
  369. }
  370. [Test]
  371. public void RemoveToFirstOccurrenceOfEmptyMarkerIgnoringCaseFromBeginningInNullString()
  372. {
  373. string transformed = Const.NullString.Remove().To(String.Empty).IgnoringCase().From(The.Beginning);
  374. transformed.Should().Be(Const.NullString);
  375. }
  376. [Test]
  377. public void RemoveToFirstOccurrenceOfEmptyMarkerIgnoringCaseFromEndInNullString()
  378. {
  379. string transformed = Const.NullString.Remove().To(String.Empty).IgnoringCase().From(The.End);
  380. transformed.Should().Be(Const.NullString);
  381. }
  382. [Test]
  383. public void RemoveToFirstOccurrenceIgnoringCaseFromBeginningInNullString()
  384. {
  385. string transformed = Const.NullString.Remove().To(Const.SampleMarker).IgnoringCase().From(The.Beginning);
  386. transformed.Should().Be(Const.NullString);
  387. }
  388. [Test]
  389. public void RemoveToFirstOccurrenceIgnoringCaseFromEndInNullString()
  390. {
  391. string transformed = Const.NullString.Remove().To(Const.SampleMarker).IgnoringCase().From(The.End);
  392. transformed.Should().Be(Const.NullString);
  393. }
  394. [Test]
  395. public void RemoveToFirstOccurrenceOfNullIgnoringCaseFromBeginningInEmptyString()
  396. {
  397. string transformed = String.Empty.Remove().To(null).IgnoringCase().From(The.Beginning);
  398. transformed.Should().Be(String.Empty);
  399. }
  400. [Test]
  401. public void RemoveToFirstOccurrenceOfNullIgnoringCaseFromEndInEmptyString()
  402. {
  403. string transformed = String.Empty.Remove().To(null).IgnoringCase().From(The.End);
  404. transformed.Should().Be(String.Empty);
  405. }
  406. [Test]
  407. public void RemoveToFirstOccurrenceOfEmptyMarkerIgnoringCaseFromBeginningInEmptyString()
  408. {
  409. string transformed = String.Empty.Remove().To(String.Empty).IgnoringCase().From(The.Beginning);
  410. transformed.Should().Be(String.Empty);
  411. }
  412. [Test]
  413. public void RemoveToFirstOccurrenceOfEmptyMarkerIgnoringCaseFromEndInEmptyString()
  414. {
  415. string transformed = String.Empty.Remove().To(String.Empty).IgnoringCase().From(The.End);
  416. transformed.Should().Be(String.Empty);
  417. }
  418. [Test]
  419. public void RemoveToFirstOccurrenceIgnoringCaseFromBeginningInEmptyString()
  420. {
  421. string transformed = String.Empty.Remove().To(Const.SampleMarker).IgnoringCase().From(The.Beginning);
  422. transformed.Should().Be(String.Empty);
  423. }
  424. [Test]
  425. public void RemoveToFirstOccurrenceIgnoringCaseFromEndInEmptyString()
  426. {
  427. string transformed = String.Empty.Remove().To(Const.SampleMarker).IgnoringCase().From(The.End);
  428. transformed.Should().Be(String.Empty);
  429. }
  430. [Test]
  431. public void RemoveToFirstOccurrenceOfNullIgnoringCaseFromBeginning()
  432. {
  433. string transformed = Const.SampleString.Remove().To(null).IgnoringCase().From(The.Beginning);
  434. transformed.Should().Be(Const.SampleString);
  435. }
  436. [Test]
  437. public void RemoveToFirstOccurrenceOfNullIgnoringCaseFromEnd()
  438. {
  439. string transformed = Const.SampleString.Remove().To(null).IgnoringCase().From(The.End);
  440. transformed.Should().Be(Const.SampleString);
  441. }
  442. [Test]
  443. public void RemoveToFirstOccurrenceOfEmptyMarkerIgnoringCaseFromBeginning()
  444. {
  445. string transformed = Const.SampleString.Remove().To(String.Empty).IgnoringCase().From(The.Beginning);
  446. transformed.Should().Be(Const.SampleString);
  447. }
  448. [Test]
  449. public void RemoveToFirstOccurrenceOfEmptyMarkerIgnoringCaseFromEnd()
  450. {
  451. string transformed = Const.SampleString.Remove().To(String.Empty).IgnoringCase().From(The.End);
  452. transformed.Should().Be(Const.SampleString);
  453. }
  454. [Test]
  455. public void RemoveToFirstOccurrenceIgnoringCaseFromStartOf()
  456. {
  457. Action action = () => Const.SampleString.Remove().To(Const.SampleMarker).IgnoringCase().From(The.StartOf).ToString();
  458. action.ShouldThrow<ArgumentOutOfRangeException>();
  459. }
  460. [Test]
  461. public void RemoveToFirstOccurrenceIgnoringCaseFromEndOf()
  462. {
  463. Action action = () => Const.SampleString.Remove().To(Const.SampleMarker).IgnoringCase().From(The.EndOf).ToString();
  464. action.ShouldThrow<ArgumentOutOfRangeException>();
  465. }
  466. [Test]
  467. public void RemoveToFirstOccurrenceIgnoringCaseFromBeginning()
  468. {
  469. string transformed = "Some very long string".Remove().To("LoNg").IgnoringCase().From(The.Beginning);
  470. transformed.Should().Be("long string");
  471. }
  472. [Test]
  473. public void RemoveToFirstOccurrenceIgnoringCaseFromEnd()
  474. {
  475. string transformed = "Some very long string".Remove().To("VERY").IgnoringCase().From(The.End);
  476. transformed.Should().Be("very long string");
  477. }
  478. [Test]
  479. public void RemoveToFirstOccurrenceIgnoringCaseFromBeginningAtBeginning()
  480. {
  481. string transformed = "SOME VERY LONG STRING".Remove().To("Some").IgnoringCase().From(The.Beginning);
  482. transformed.Should().Be("SOME VERY LONG STRING");
  483. }
  484. [Test]
  485. public void RemoveToFirstOccurrenceIgnoringCaseFromEndAtBeginning()
  486. {
  487. string transformed = "SOmE very long string".Remove().To("Some").IgnoringCase().From(The.End);
  488. transformed.Should().Be("SOmE very long string");
  489. }
  490. [Test]
  491. public void RemoveToFirstOccurrenceIgnoringCaseFromBeginningAtEnd()
  492. {
  493. string transformed = "Some very long sTRINg".Remove().To("StrinG").IgnoringCase().From(The.Beginning);
  494. transformed.Should().Be("sTRINg");
  495. }
  496. [Test]
  497. public void RemoveToFirstOccurrenceIgnoringCaseFromEndAtEnd()
  498. {
  499. string transformed = "Some very long STRING".Remove().To("string").IgnoringCase().From(The.End);
  500. transformed.Should().Be("STRING");
  501. }
  502. [Test]
  503. public void RemoveToFirstOccurrenceIgnoringCaseFromBeginningHavingTwoOccurrences()
  504. {
  505. string transformed = "Some VERY VERY long string".Remove().To("very").IgnoringCase().From(The.Beginning);
  506. transformed.Should().Be("VERY VERY long string");
  507. }
  508. [Test]
  509. public void RemoveToFirstOccurrenceIgnoringCaseFromEndHavingTwoOccurrences()
  510. {
  511. string transformed = "Some VERY VERY long string".Remove().To("very").IgnoringCase().From(The.End);
  512. transformed.Should().Be("VERY long string");
  513. }
  514. [Test]
  515. public void RemoveToFirstAbsentOccurrenceIgnoringCaseFromBeginning()
  516. {
  517. string transformed = Const.SampleString.Remove().To(Const.SampleMarker).IgnoringCase().From(The.Beginning);
  518. transformed.Should().Be(Const.SampleString);
  519. }
  520. [Test]
  521. public void RemoveToFirstAbsentOccurrenceIgnoringCaseFromEnd()
  522. {
  523. string transformed = Const.SampleString.Remove().To(Const.SampleMarker).IgnoringCase().From(The.End);
  524. transformed.Should().Be(Const.SampleString);
  525. }
  526. #endregion
  527. }
  528. }