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

/FluentStrings.Tests/Remove/RemoveStartingFirstOccurrencePositionTests.cs

http://fluentstrings.codeplex.com
C# | 1202 lines | 1026 code | 176 blank | 0 comment | 0 complexity | 75feb85b1c13fc457b2ac1cae8280144 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 RemoveStartingFirstOccurrencePositionTests
  8. {
  9. #region Remove Starting First Occurrence Position
  10. [Test]
  11. public void RemoveStartingStartOfFirstOccurrenceOfNullInNullString()
  12. {
  13. string transformed = Const.NullString.Remove().Starting(The.StartOf, null);
  14. transformed.Should().Be(Const.NullString);
  15. }
  16. [Test]
  17. public void RemoveStartingStartOfFirstOccurrenceOfEmptyMarkerInNullString()
  18. {
  19. string transformed = Const.NullString.Remove().Starting(The.StartOf, String.Empty);
  20. transformed.Should().Be(Const.NullString);
  21. }
  22. [Test]
  23. public void RemoveStartingStartOfFirstOccurrenceInNullString()
  24. {
  25. string transformed = Const.NullString.Remove().Starting(The.StartOf, Const.SampleMarker);
  26. transformed.Should().Be(Const.NullString);
  27. }
  28. [Test]
  29. public void RemoveStartingStartOfFirstOccurrenceOfNullInEmptyString()
  30. {
  31. string transformed = String.Empty.Remove().Starting(The.StartOf, null);
  32. transformed.Should().Be(String.Empty);
  33. }
  34. [Test]
  35. public void RemoveStartingStartOfFirstOccurrenceOfEmptyMarkerInEmptyString()
  36. {
  37. string transformed = String.Empty.Remove().Starting(The.StartOf, String.Empty);
  38. transformed.Should().Be(null);
  39. }
  40. [Test]
  41. public void RemoveStartingStartOfFirstOccurrenceInEmptyString()
  42. {
  43. string transformed = String.Empty.Remove().Starting(The.StartOf, Const.SampleMarker);
  44. transformed.Should().Be(String.Empty);
  45. }
  46. [Test]
  47. public void RemoveStartingStartOfFirstOccurrenceOfNull()
  48. {
  49. string transformed = Const.SampleString.Remove().Starting(The.StartOf, null);
  50. transformed.Should().Be(Const.SampleString);
  51. }
  52. [Test]
  53. public void RemoveStartingStartOfFirstOccurrenceOfEmptyMarker()
  54. {
  55. string transformed = Const.SampleString.Remove().Starting(The.StartOf, String.Empty);
  56. transformed.Should().Be(Const.SampleString);
  57. }
  58. [Test]
  59. public void RemoveStartingBeginningFirstOccurrenceIndex()
  60. {
  61. Action action = () => "Some very very long string".Remove().Starting(The.Beginning, "very").ToString();
  62. action.ShouldThrow<ArgumentOutOfRangeException>();
  63. }
  64. [Test]
  65. public void RemoveStartingEndFirstOccurrenceIndex()
  66. {
  67. Action action = () => "Some very very long string".Remove().Starting(The.End, "very").ToString();
  68. action.ShouldThrow<ArgumentOutOfRangeException>();
  69. }
  70. [Test]
  71. public void RemoveStartingStartOfFirstOccurrence()
  72. {
  73. string transformed = "Some very long long string".Remove().Starting(The.StartOf, " long");
  74. transformed.Should().Be("Some very");
  75. }
  76. [Test]
  77. public void RemoveStartingStartOfFirstOccurrenceAtBeginning()
  78. {
  79. string transformed = "Some very long string".Remove().Starting(The.StartOf, "Some");
  80. transformed.Should().Be(String.Empty);
  81. }
  82. [Test]
  83. public void RemoveStartingStartOfFirstOccurrenceAtEnd()
  84. {
  85. string transformed = "Some very long string".Remove().Starting(The.StartOf, "string");
  86. transformed.Should().Be("Some very long ");
  87. }
  88. [Test]
  89. public void RemoveStartingStartOfFirstOccurrenceCaseSensitive()
  90. {
  91. string transformed = "Some very long long string".Remove().Starting(The.StartOf, "Long");
  92. transformed.Should().Be("Some very long long string");
  93. }
  94. [Test]
  95. public void RemoveStartingStartOfFirstOccurrenceHavingTwoOccurrences()
  96. {
  97. string transformed = "Some very very long string".Remove().Starting(The.StartOf, "very");
  98. transformed.Should().Be("Some ");
  99. }
  100. [Test]
  101. public void RemoveStartingEndOfFirstOccurrenceOfNullInNullString()
  102. {
  103. string transformed = Const.NullString.Remove().Starting(The.EndOf, null);
  104. transformed.Should().Be(Const.NullString);
  105. }
  106. [Test]
  107. public void RemoveStartingEndOfFirstOccurrenceOfEmptyMarkerInNullString()
  108. {
  109. string transformed = Const.NullString.Remove().Starting(The.EndOf, String.Empty);
  110. transformed.Should().Be(Const.NullString);
  111. }
  112. [Test]
  113. public void RemoveStartingEndOfFirstOccurrenceInNullString()
  114. {
  115. string transformed = Const.NullString.Remove().Starting(The.EndOf, Const.SampleMarker);
  116. transformed.Should().Be(Const.NullString);
  117. }
  118. [Test]
  119. public void RemoveStartingEndOfFirstOccurrenceOfNullInEmptyString()
  120. {
  121. string transformed = String.Empty.Remove().Starting(The.EndOf, null);
  122. transformed.Should().Be(String.Empty);
  123. }
  124. [Test]
  125. public void RemoveStartingEndOfFirstOccurrenceOfEmptyMarkerInEmptyString()
  126. {
  127. string transformed = String.Empty.Remove().Starting(The.EndOf, String.Empty);
  128. transformed.Should().Be(null);
  129. }
  130. [Test]
  131. public void RemoveStartingEndOfFirstOccurrenceInEmptyString()
  132. {
  133. string transformed = String.Empty.Remove().Starting(The.EndOf, Const.SampleMarker);
  134. transformed.Should().Be(String.Empty);
  135. }
  136. [Test]
  137. public void RemoveStartingEndOfFirstOccurrenceOfNull()
  138. {
  139. string transformed = Const.SampleString.Remove().Starting(The.EndOf, null);
  140. transformed.Should().Be(Const.SampleString);
  141. }
  142. [Test]
  143. public void RemoveStartingEndOfFirstOccurrenceOfEmptyMarker()
  144. {
  145. string transformed = Const.SampleString.Remove().Starting(The.EndOf, String.Empty);
  146. transformed.Should().Be(Const.SampleString);
  147. }
  148. [Test]
  149. public void RemoveStartingEndOfFirstOccurrence()
  150. {
  151. string transformed = "Some very long long string".Remove().Starting(The.EndOf, "long");
  152. transformed.Should().Be("Some very long");
  153. }
  154. [Test]
  155. public void RemoveStartingEndOfFirstOccurrenceAtBeginning()
  156. {
  157. string transformed = "Some very long string".Remove().Starting(The.EndOf, "Some");
  158. transformed.Should().Be("Some");
  159. }
  160. [Test]
  161. public void RemoveStartingEndOfFirstOccurrenceAtEnd()
  162. {
  163. string transformed = "Some very long string".Remove().Starting(The.EndOf, "string");
  164. transformed.Should().Be("Some very long string");
  165. }
  166. [Test]
  167. public void RemoveStartingEndOfFirstOccurrenceCaseSensitive()
  168. {
  169. string transformed = "Some very long long string".Remove().Starting(The.EndOf, "Long");
  170. transformed.Should().Be("Some very long long string");
  171. }
  172. [Test]
  173. public void RemoveStartingEndOfFirstOccurrenceHavingTwoOccurrences()
  174. {
  175. string transformed = "Some very very long string".Remove().Starting(The.EndOf, "very");
  176. transformed.Should().Be("Some very");
  177. }
  178. #endregion
  179. #region Remove Starting First Occurrence Position From
  180. [Test]
  181. public void RemoveStartingStartOfFirstOccurrenceOfNullFromBeginningInNullString()
  182. {
  183. string transformed = Const.NullString.Remove().Starting(The.StartOf, null).From(The.Beginning);
  184. transformed.Should().Be(Const.NullString);
  185. }
  186. [Test]
  187. public void RemoveStartingStartOfFirstOccurrenceOfNullFromEndInNullString()
  188. {
  189. string transformed = Const.NullString.Remove().Starting(The.StartOf, null).From(The.End);
  190. transformed.Should().Be(Const.NullString);
  191. }
  192. [Test]
  193. public void RemoveStartingStartOfFirstOccurrenceOfEmptyMarkerFromBeginningInNullString()
  194. {
  195. string transformed = Const.NullString.Remove().Starting(The.StartOf, String.Empty).From(The.Beginning);
  196. transformed.Should().Be(Const.NullString);
  197. }
  198. [Test]
  199. public void RemoveStartingStartOfFirstOccurrenceOfEmptyMarkerFromEndInNullString()
  200. {
  201. string transformed = Const.NullString.Remove().Starting(The.StartOf, String.Empty).From(The.End);
  202. transformed.Should().Be(Const.NullString);
  203. }
  204. [Test]
  205. public void RemoveStartingStartOfFirstOccurrenceFromBeginningInNullString()
  206. {
  207. string transformed = Const.NullString.Remove().Starting(The.StartOf, Const.SampleMarker).From(The.Beginning);
  208. transformed.Should().Be(Const.NullString);
  209. }
  210. [Test]
  211. public void RemoveStartingStartOfFirstOccurrenceFromEndInNullString()
  212. {
  213. string transformed = Const.NullString.Remove().Starting(The.StartOf, Const.SampleMarker).From(The.End);
  214. transformed.Should().Be(Const.NullString);
  215. }
  216. [Test]
  217. public void RemoveStartingStartOfFirstOccurrenceOfNullFromBeginningInEmptyString()
  218. {
  219. string transformed = String.Empty.Remove().Starting(The.StartOf, null).From(The.Beginning);
  220. transformed.Should().Be(String.Empty);
  221. }
  222. [Test]
  223. public void RemoveStartingStartOfFirstOccurrenceOfNullFromEndInEmptyString()
  224. {
  225. string transformed = String.Empty.Remove().Starting(The.StartOf, null).From(The.End);
  226. transformed.Should().Be(String.Empty);
  227. }
  228. [Test]
  229. public void RemoveStartingStartOfFirstOccurrenceOfEmptyMarkerFromBeginningInEmptyString()
  230. {
  231. string transformed = String.Empty.Remove().Starting(The.StartOf, String.Empty).From(The.Beginning);
  232. transformed.Should().Be(null);
  233. }
  234. [Test]
  235. public void RemoveStartingStartOfFirstOccurrenceOfEmptyMarkerFromEndInEmptyString()
  236. {
  237. string transformed = String.Empty.Remove().Starting(The.StartOf, String.Empty).From(The.End);
  238. transformed.Should().Be(null);
  239. }
  240. [Test]
  241. public void RemoveStartingStartOfFirstOccurrenceFromBeginningInEmptyString()
  242. {
  243. string transformed = String.Empty.Remove().Starting(The.StartOf, Const.SampleMarker).From(The.Beginning);
  244. transformed.Should().Be(String.Empty);
  245. }
  246. [Test]
  247. public void RemoveStartingStartOfFirstOccurrenceFromEndInEmptyString()
  248. {
  249. string transformed = String.Empty.Remove().Starting(The.StartOf, Const.SampleMarker).From(The.End);
  250. transformed.Should().Be(String.Empty);
  251. }
  252. [Test]
  253. public void RemoveStartingStartOfFirstOccurrenceOfNullFromBeginning()
  254. {
  255. string transformed = Const.SampleString.Remove().Starting(The.StartOf, null).From(The.Beginning);
  256. transformed.Should().Be(Const.SampleString);
  257. }
  258. [Test]
  259. public void RemoveStartingStartOfFirstOccurrenceOfNullFromEnd()
  260. {
  261. string transformed = Const.SampleString.Remove().Starting(The.StartOf, null).From(The.End);
  262. transformed.Should().Be(Const.SampleString);
  263. }
  264. [Test]
  265. public void RemoveStartingStartOfFirstOccurrenceOfEmptyMarkerFromBeginning()
  266. {
  267. string transformed = Const.SampleString.Remove().Starting(The.StartOf, String.Empty).From(The.Beginning);
  268. transformed.Should().Be(Const.SampleString);
  269. }
  270. [Test]
  271. public void RemoveStartingStartOfFirstOccurrenceOfEmptyMarkerFromEnd()
  272. {
  273. string transformed = Const.SampleString.Remove().Starting(The.StartOf, String.Empty).From(The.End);
  274. transformed.Should().Be(Const.SampleString);
  275. }
  276. [Test]
  277. public void RemoveStartingBeginningFirstOccurrenceIndexFromBeginning()
  278. {
  279. Action action = () => "Some very very long string".Remove().Starting(The.Beginning, "very").From(The.Beginning).ToString();
  280. action.ShouldThrow<ArgumentOutOfRangeException>();
  281. }
  282. [Test]
  283. public void RemoveStartingEndFirstOccurrenceIndexFromBeginning()
  284. {
  285. Action action = () => "Some very very long string".Remove().Starting(The.End, "very").From(The.Beginning).ToString();
  286. action.ShouldThrow<ArgumentOutOfRangeException>();
  287. }
  288. [Test]
  289. public void RemoveStartingStartOfFirstOccurrenceIndexFromStartOf()
  290. {
  291. Action action = () => "Some very very long string".Remove().Starting(The.StartOf, "very").From(The.StartOf).ToString();
  292. action.ShouldThrow<ArgumentOutOfRangeException>();
  293. }
  294. [Test]
  295. public void RemoveStartingStartOfFirstOccurrenceIndexFromEndOf()
  296. {
  297. Action action = () => "Some very very long string".Remove().Starting(The.StartOf, "very").From(The.EndOf).ToString();
  298. action.ShouldThrow<ArgumentOutOfRangeException>();
  299. }
  300. [Test]
  301. public void RemoveStartingBeginningFirstOccurrenceIndexFromEnd()
  302. {
  303. Action action = () => "Some very very long string".Remove().Starting(The.Beginning, "very").From(The.End).ToString();
  304. action.ShouldThrow<ArgumentOutOfRangeException>();
  305. }
  306. [Test]
  307. public void RemoveStartingEndFirstOccurrenceIndexFromEnd()
  308. {
  309. Action action = () => "Some very very long string".Remove().Starting(The.End, "very").From(The.End).ToString();
  310. action.ShouldThrow<ArgumentOutOfRangeException>();
  311. }
  312. [Test]
  313. public void RemoveStartingStartOfFirstOccurrenceFromBeginning()
  314. {
  315. string transformed = "Some very long string".Remove().Starting(The.StartOf, " long").From(The.Beginning);
  316. transformed.Should().Be("Some very");
  317. }
  318. [Test]
  319. public void RemoveStartingStartOfFirstOccurrenceFromEnd()
  320. {
  321. string transformed = "Some very long string".Remove().Starting(The.StartOf, " very").From(The.End);
  322. transformed.Should().Be("Some");
  323. }
  324. [Test]
  325. public void RemoveStartingStartOfFirstOccurrenceFromBeginningAtBeginning()
  326. {
  327. string transformed = "Some very long string".Remove().Starting(The.StartOf, "Some").From(The.Beginning);
  328. transformed.Should().Be(String.Empty);
  329. }
  330. [Test]
  331. public void RemoveStartingStartOfFirstOccurrenceFromEndAtBeginning()
  332. {
  333. string transformed = "Some very long string".Remove().Starting(The.StartOf, "Some").From(The.End);
  334. transformed.Should().Be(String.Empty);
  335. }
  336. [Test]
  337. public void RemoveStartingStartOfFirstOccurrenceFromBeginningAtEnd()
  338. {
  339. string transformed = "Some very long string".Remove().Starting(The.StartOf, "string").From(The.Beginning);
  340. transformed.Should().Be("Some very long ");
  341. }
  342. [Test]
  343. public void RemoveStartingStartOfFirstOccurrenceFromEndAtEnd()
  344. {
  345. string transformed = "Some very long string".Remove().Starting(The.StartOf, "string").From(The.End);
  346. transformed.Should().Be("Some very long ");
  347. }
  348. [Test]
  349. public void RemoveStartingStartOfFirstOccurrenceFromBeginningCaseSensitive()
  350. {
  351. string transformed = "Some very long long string".Remove().Starting(The.StartOf, "Long").From(The.Beginning);
  352. transformed.Should().Be("Some very long long string");
  353. }
  354. [Test]
  355. public void RemoveStartingStartOfFirstOccurrenceFromEndCaseSensitive()
  356. {
  357. string transformed = "Some very long long string".Remove().Starting(The.StartOf, "Long").From(The.End);
  358. transformed.Should().Be("Some very long long string");
  359. }
  360. [Test]
  361. public void RemoveStartingStartOfFirstOccurrenceFromBeginningHavingTwoOccurrences()
  362. {
  363. string transformed = "Some very very long string".Remove().Starting(The.StartOf, "very").From(The.Beginning);
  364. transformed.Should().Be("Some ");
  365. }
  366. [Test]
  367. public void RemoveStartingStartOfFirstOccurrenceFromEndHavingTwoOccurrences()
  368. {
  369. string transformed = "Some very very long string".Remove().Starting(The.StartOf, "very").From(The.End);
  370. transformed.Should().Be("Some very ");
  371. }
  372. [Test]
  373. public void RemoveStartingEndOfFirstOccurrenceOfNullFromBeginningInNullString()
  374. {
  375. string transformed = Const.NullString.Remove().Starting(The.EndOf, null).From(The.Beginning);
  376. transformed.Should().Be(Const.NullString);
  377. }
  378. [Test]
  379. public void RemoveStartingEndOfFirstOccurrenceOfNullFromEndInNullString()
  380. {
  381. string transformed = Const.NullString.Remove().Starting(The.EndOf, null).From(The.End);
  382. transformed.Should().Be(Const.NullString);
  383. }
  384. [Test]
  385. public void RemoveStartingEndOfFirstOccurrenceOfEmptyMarkerFromBeginningInNullString()
  386. {
  387. string transformed = Const.NullString.Remove().Starting(The.EndOf, String.Empty).From(The.Beginning);
  388. transformed.Should().Be(Const.NullString);
  389. }
  390. [Test]
  391. public void RemoveStartingEndOfFirstOccurrenceOfEmptyMarkerFromEndInNullString()
  392. {
  393. string transformed = Const.NullString.Remove().Starting(The.EndOf, String.Empty).From(The.End);
  394. transformed.Should().Be(Const.NullString);
  395. }
  396. [Test]
  397. public void RemoveStartingEndOfFirstOccurrenceFromBeginningInNullString()
  398. {
  399. string transformed = Const.NullString.Remove().Starting(The.EndOf, Const.SampleMarker).From(The.Beginning);
  400. transformed.Should().Be(Const.NullString);
  401. }
  402. [Test]
  403. public void RemoveStartingEndOfFirstOccurrenceFromEndInNullString()
  404. {
  405. string transformed = Const.NullString.Remove().Starting(The.EndOf, Const.SampleMarker).From(The.End);
  406. transformed.Should().Be(Const.NullString);
  407. }
  408. [Test]
  409. public void RemoveStartingEndOfFirstOccurrenceOfNullFromBeginningInEmptyString()
  410. {
  411. string transformed = String.Empty.Remove().Starting(The.EndOf, null).From(The.Beginning);
  412. transformed.Should().Be(String.Empty);
  413. }
  414. [Test]
  415. public void RemoveStartingEndOfFirstOccurrenceOfNullFromEndInEmptyString()
  416. {
  417. string transformed = String.Empty.Remove().Starting(The.EndOf, null).From(The.End);
  418. transformed.Should().Be(String.Empty);
  419. }
  420. [Test]
  421. public void RemoveStartingEndOfFirstOccurrenceOfEmptyMarkerFromBeginningInEmptyString()
  422. {
  423. string transformed = String.Empty.Remove().Starting(The.EndOf, String.Empty).From(The.Beginning);
  424. transformed.Should().Be(null);
  425. }
  426. [Test]
  427. public void RemoveStartingEndOfFirstOccurrenceOfEmptyMarkerFromEndInEmptyString()
  428. {
  429. string transformed = String.Empty.Remove().Starting(The.EndOf, String.Empty).From(The.End);
  430. transformed.Should().Be(null);
  431. }
  432. [Test]
  433. public void RemoveStartingEndOfFirstOccurrenceFromBeginningInEmptyString()
  434. {
  435. string transformed = String.Empty.Remove().Starting(The.EndOf, Const.SampleMarker).From(The.Beginning);
  436. transformed.Should().Be(String.Empty);
  437. }
  438. [Test]
  439. public void RemoveStartingEndOfFirstOccurrenceFromEndInEmptyString()
  440. {
  441. string transformed = String.Empty.Remove().Starting(The.EndOf, Const.SampleMarker).From(The.End);
  442. transformed.Should().Be(String.Empty);
  443. }
  444. [Test]
  445. public void RemoveStartingEndOfFirstOccurrenceOfNullFromBeginning()
  446. {
  447. string transformed = Const.SampleString.Remove().Starting(The.EndOf, null).From(The.Beginning);
  448. transformed.Should().Be(Const.SampleString);
  449. }
  450. [Test]
  451. public void RemoveStartingEndOfFirstOccurrenceOfNullFromEnd()
  452. {
  453. string transformed = Const.SampleString.Remove().Starting(The.EndOf, null).From(The.End);
  454. transformed.Should().Be(Const.SampleString);
  455. }
  456. [Test]
  457. public void RemoveStartingEndOfFirstOccurrenceOfEmptyMarkerFromBeginning()
  458. {
  459. string transformed = Const.SampleString.Remove().Starting(The.EndOf, String.Empty).From(The.Beginning);
  460. transformed.Should().Be(Const.SampleString);
  461. }
  462. [Test]
  463. public void RemoveStartingEndOfFirstOccurrenceOfEmptyMarkerFromEnd()
  464. {
  465. string transformed = Const.SampleString.Remove().Starting(The.EndOf, String.Empty).From(The.End);
  466. transformed.Should().Be(Const.SampleString);
  467. }
  468. [Test]
  469. public void RemoveStartingEndOfFirstOccurrenceFromBeginning()
  470. {
  471. string transformed = "Some very long string".Remove().Starting(The.EndOf, "long").From(The.Beginning);
  472. transformed.Should().Be("Some very long");
  473. }
  474. [Test]
  475. public void RemoveStartingEndOfFirstOccurrenceFromEnd()
  476. {
  477. string transformed = "Some very long string".Remove().Starting(The.EndOf, "very").From(The.End);
  478. transformed.Should().Be("Some very");
  479. }
  480. [Test]
  481. public void RemoveStartingEndOfFirstOccurrenceFromBeginningAtBeginning()
  482. {
  483. string transformed = "Some very long string".Remove().Starting(The.EndOf, "Some").From(The.Beginning);
  484. transformed.Should().Be("Some");
  485. }
  486. [Test]
  487. public void RemoveStartingEndOfFirstOccurrenceFromEndAtBeginning()
  488. {
  489. string transformed = "Some very long string".Remove().Starting(The.EndOf, "Some").From(The.End);
  490. transformed.Should().Be("Some");
  491. }
  492. [Test]
  493. public void RemoveStartingEndOfFirstOccurrenceFromBeginningAtEnd()
  494. {
  495. string transformed = "Some very long string".Remove().Starting(The.EndOf, "string").From(The.Beginning);
  496. transformed.Should().Be("Some very long string");
  497. }
  498. [Test]
  499. public void RemoveStartingEndOfFirstOccurrenceFromEndAtEnd()
  500. {
  501. string transformed = "Some very long string".Remove().Starting(The.EndOf, "string").From(The.End);
  502. transformed.Should().Be("Some very long string");
  503. }
  504. [Test]
  505. public void RemoveStartingEndOfFirstOccurrenceFromBeginningCaseSensitive()
  506. {
  507. string transformed = "Some very long long string".Remove().Starting(The.EndOf, "Long").From(The.Beginning);
  508. transformed.Should().Be("Some very long long string");
  509. }
  510. [Test]
  511. public void RemoveStartingEndOfFirstOccurrenceFromEndCaseSensitive()
  512. {
  513. string transformed = "Some very long long string".Remove().Starting(The.EndOf, "Long").From(The.End);
  514. transformed.Should().Be("Some very long long string");
  515. }
  516. [Test]
  517. public void RemoveStartingEndOfFirstOccurrenceFromBeginningHavingTwoOccurrences()
  518. {
  519. string transformed = "Some very very long string".Remove().Starting(The.EndOf, "very").From(The.Beginning);
  520. transformed.Should().Be("Some very");
  521. }
  522. [Test]
  523. public void RemoveStartingEndOfFirstOccurrenceFromEndHavingTwoOccurrences()
  524. {
  525. string transformed = "Some very very long string".Remove().Starting(The.EndOf, "very").From(The.End);
  526. transformed.Should().Be("Some very very");
  527. }
  528. #endregion
  529. #region Remove Starting First Occurrence Position Ignoring Case
  530. [Test]
  531. public void RemoveStartingStartOfFirstOccurrenceOfNullIgnoringCaseInNullString()
  532. {
  533. string transformed = Const.NullString.Remove().Starting(The.StartOf, null).IgnoringCase();
  534. transformed.Should().Be(Const.NullString);
  535. }
  536. [Test]
  537. public void RemoveStartingStartOfFirstOccurrenceOfEmptyMarkerIgnoringCaseInNullString()
  538. {
  539. string transformed = Const.NullString.Remove().Starting(The.StartOf, String.Empty).IgnoringCase();
  540. transformed.Should().Be(Const.NullString);
  541. }
  542. [Test]
  543. public void RemoveStartingStartOfFirstOccurrenceIgnoringCaseInNullString()
  544. {
  545. string transformed = Const.NullString.Remove().Starting(The.StartOf, Const.SampleMarker).IgnoringCase();
  546. transformed.Should().Be(Const.NullString);
  547. }
  548. [Test]
  549. public void RemoveStartingStartOfFirstOccurrenceOfNullIgnoringCaseInEmptyString()
  550. {
  551. string transformed = String.Empty.Remove().Starting(The.StartOf, null).IgnoringCase();
  552. transformed.Should().Be(String.Empty);
  553. }
  554. [Test]
  555. public void RemoveStartingStartOfFirstOccurrenceOfEmptyMarkerIgnoringCaseInEmptyString()
  556. {
  557. string transformed = String.Empty.Remove().Starting(The.StartOf, String.Empty).IgnoringCase();
  558. transformed.Should().Be(null);
  559. }
  560. [Test]
  561. public void RemoveStartingStartOfFirstOccurrenceInEmptyStringIgnoringCase()
  562. {
  563. string transformed = String.Empty.Remove().Starting(The.StartOf, Const.SampleMarker).IgnoringCase();
  564. transformed.Should().Be(String.Empty);
  565. }
  566. [Test]
  567. public void RemoveStartingStartOfFirstOccurrenceOfNullIgnoringCase()
  568. {
  569. string transformed = Const.SampleString.Remove().Starting(The.StartOf, null).IgnoringCase();
  570. transformed.Should().Be(Const.SampleString);
  571. }
  572. [Test]
  573. public void RemoveStartingStartOfFirstOccurrenceOfEmptyMarkerIgnoringCase()
  574. {
  575. string transformed = Const.SampleString.Remove().Starting(The.StartOf, String.Empty).IgnoringCase();
  576. transformed.Should().Be(Const.SampleString);
  577. }
  578. [Test]
  579. public void RemoveStartingBeginningFirstOccurrenceIndexIgnoringCase()
  580. {
  581. Action action = () => "Some very very long string".Remove().Starting(The.Beginning, "very").IgnoringCase().ToString();
  582. action.ShouldThrow<ArgumentOutOfRangeException>();
  583. }
  584. [Test]
  585. public void RemoveStartingEndFirstOccurrenceIndexIgnoringCase()
  586. {
  587. Action action = () => "Some very very long string".Remove().Starting(The.End, "very").IgnoringCase().ToString();
  588. action.ShouldThrow<ArgumentOutOfRangeException>();
  589. }
  590. [Test]
  591. public void RemoveStartingStartOfFirstOccurrenceIgnoringCase()
  592. {
  593. string transformed = "Some very long string".Remove().Starting(The.StartOf, " lOnG").IgnoringCase();
  594. transformed.Should().Be("Some very");
  595. }
  596. [Test]
  597. public void RemoveStartingStartOfFirstOccurrenceIgnoringCaseAtBeginning()
  598. {
  599. string transformed = "Some very long string".Remove().Starting(The.StartOf, "SOME").IgnoringCase();
  600. transformed.Should().Be(String.Empty);
  601. }
  602. [Test]
  603. public void RemoveStartingStartOfFirstOccurrenceIgnoringCaseAtEnd()
  604. {
  605. string transformed = "SOME VERY LONG STRING".Remove().Starting(The.StartOf, "string").IgnoringCase();
  606. transformed.Should().Be("SOME VERY LONG ");
  607. }
  608. [Test]
  609. public void RemoveStartingStartOfFirstOccurrenceIgnoringCaseHavingTwoOccurrences()
  610. {
  611. string transformed = "Some vErY very long string".Remove().Starting(The.StartOf, "VERY").IgnoringCase();
  612. transformed.Should().Be("Some ");
  613. }
  614. [Test]
  615. public void RemoveStartingEndOfFirstOccurrenceOfNullIgnoringCaseInNullString()
  616. {
  617. string transformed = Const.NullString.Remove().Starting(The.EndOf, null).IgnoringCase();
  618. transformed.Should().Be(Const.NullString);
  619. }
  620. [Test]
  621. public void RemoveStartingEndOfFirstOccurrenceOfEmptyMarkerIgnoringCaseInNullString()
  622. {
  623. string transformed = Const.NullString.Remove().Starting(The.EndOf, String.Empty).IgnoringCase();
  624. transformed.Should().Be(Const.NullString);
  625. }
  626. [Test]
  627. public void RemoveStartingEndOfFirstOccurrenceIgnoringCaseInNullString()
  628. {
  629. string transformed = Const.NullString.Remove().Starting(The.EndOf, Const.SampleMarker).IgnoringCase();
  630. transformed.Should().Be(Const.NullString);
  631. }
  632. [Test]
  633. public void RemoveStartingEndOfFirstOccurrenceOfNullIgnoringCaseInEmptyString()
  634. {
  635. string transformed = String.Empty.Remove().Starting(The.EndOf, null).IgnoringCase();
  636. transformed.Should().Be(String.Empty);
  637. }
  638. [Test]
  639. public void RemoveStartingEndOfFirstOccurrenceOfEmptyMarkerIgnoringCaseInEmptyString()
  640. {
  641. string transformed = String.Empty.Remove().Starting(The.EndOf, String.Empty).IgnoringCase();
  642. transformed.Should().Be(null);
  643. }
  644. [Test]
  645. public void RemoveStartingEndOfFirstOccurrenceInEmptyStringIgnoringCase()
  646. {
  647. string transformed = String.Empty.Remove().Starting(The.EndOf, Const.SampleMarker).IgnoringCase();
  648. transformed.Should().Be(String.Empty);
  649. }
  650. [Test]
  651. public void RemoveStartingEndOfFirstOccurrenceOfNullIgnoringCase()
  652. {
  653. string transformed = Const.SampleString.Remove().Starting(The.EndOf, null).IgnoringCase();
  654. transformed.Should().Be(Const.SampleString);
  655. }
  656. [Test]
  657. public void RemoveStartingEndOfFirstOccurrenceOfEmptyMarkerIgnoringCase()
  658. {
  659. string transformed = Const.SampleString.Remove().Starting(The.EndOf, String.Empty).IgnoringCase();
  660. transformed.Should().Be(Const.SampleString);
  661. }
  662. [Test]
  663. public void RemoveStartingEndOfFirstOccurrenceIgnoringCase()
  664. {
  665. string transformed = "Some very long string".Remove().Starting(The.EndOf, "lOnG").IgnoringCase();
  666. transformed.Should().Be("Some very long");
  667. }
  668. [Test]
  669. public void RemoveStartingEndOfFirstOccurrenceIgnoringCaseAtBeginning()
  670. {
  671. string transformed = "Some very long string".Remove().Starting(The.EndOf, "SOME").IgnoringCase();
  672. transformed.Should().Be("Some");
  673. }
  674. [Test]
  675. public void RemoveStartingEndOfFirstOccurrenceIgnoringCaseAtEnd()
  676. {
  677. string transformed = "SOME VERY LONG STRING".Remove().Starting(The.EndOf, "string").IgnoringCase();
  678. transformed.Should().Be("SOME VERY LONG STRING");
  679. }
  680. [Test]
  681. public void RemoveStartingEndOfFirstOccurrenceIgnoringCaseHavingTwoOccurrences()
  682. {
  683. string transformed = "Some vErY very long string".Remove().Starting(The.EndOf, "VERY").IgnoringCase();
  684. transformed.Should().Be("Some vErY");
  685. }
  686. #endregion
  687. #region Remove Starting First Occurrence Position Ignoring Case From
  688. [Test]
  689. public void RemoveStartingStartOfFirstOccurrenceOfNullIgnoringCaseFromBeginningInNullString()
  690. {
  691. string transformed = Const.NullString.Remove().Starting(The.StartOf, null).IgnoringCase().From(The.Beginning);
  692. transformed.Should().Be(Const.NullString);
  693. }
  694. [Test]
  695. public void RemoveStartingStartOfFirstOccurrenceOfNullIgnoringCaseFromEndInNullString()
  696. {
  697. string transformed = Const.NullString.Remove().Starting(The.StartOf, null).IgnoringCase().From(The.End);
  698. transformed.Should().Be(Const.NullString);
  699. }
  700. [Test]
  701. public void RemoveStartingStartOfFirstOccurrenceOfEmptyMarkerIgnoringCaseFromBeginningInNullString()
  702. {
  703. string transformed = Const.NullString.Remove().Starting(The.StartOf, String.Empty).IgnoringCase().From(The.Beginning);
  704. transformed.Should().Be(Const.NullString);
  705. }
  706. [Test]
  707. public void RemoveStartingStartOfFirstOccurrenceOfEmptyMarkerIgnoringCaseFromEndInNullString()
  708. {
  709. string transformed = Const.NullString.Remove().Starting(The.StartOf, String.Empty).IgnoringCase().From(The.End);
  710. transformed.Should().Be(Const.NullString);
  711. }
  712. [Test]
  713. public void RemoveStartingStartOfFirstOccurrenceIgnoringCaseFromBeginningInNullString()
  714. {
  715. string transformed = Const.NullString.Remove().Starting(The.StartOf, Const.SampleMarker).IgnoringCase().From(The.Beginning);
  716. transformed.Should().Be(Const.NullString);
  717. }
  718. [Test]
  719. public void RemoveStartingStartOfFirstOccurrenceIgnoringCaseFromEndInNullString()
  720. {
  721. string transformed = Const.NullString.Remove().Starting(The.StartOf, Const.SampleMarker).IgnoringCase().From(The.End);
  722. transformed.Should().Be(Const.NullString);
  723. }
  724. [Test]
  725. public void RemoveStartingStartOfFirstOccurrenceOfNullIgnoringCaseFromBeginningInEmptyString()
  726. {
  727. string transformed = String.Empty.Remove().Starting(The.StartOf, null).IgnoringCase().From(The.Beginning);
  728. transformed.Should().Be(String.Empty);
  729. }
  730. [Test]
  731. public void RemoveStartingStartOfFirstOccurrenceOfNullIgnoringCaseFromEndInEmptyString()
  732. {
  733. string transformed = String.Empty.Remove().Starting(The.StartOf, null).IgnoringCase().From(The.End);
  734. transformed.Should().Be(String.Empty);
  735. }
  736. [Test]
  737. public void RemoveStartingStartOfFirstOccurrenceOfEmptyMarkerIgnoringCaseFromBeginningInEmptyString()
  738. {
  739. string transformed = String.Empty.Remove().Starting(The.StartOf, String.Empty).IgnoringCase().From(The.Beginning);
  740. transformed.Should().Be(null);
  741. }
  742. [Test]
  743. public void RemoveStartingStartOfFirstOccurrenceOfEmptyMarkerIgnoringCaseFromEndInEmptyString()
  744. {
  745. string transformed = String.Empty.Remove().Starting(The.StartOf, String.Empty).IgnoringCase().From(The.End);
  746. transformed.Should().Be(null);
  747. }
  748. [Test]
  749. public void RemoveStartingStartOfFirstOccurrenceIgnoringCaseFromBeginningInEmptyString()
  750. {
  751. string transformed = String.Empty.Remove().Starting(The.StartOf, Const.SampleMarker).IgnoringCase().From(The.Beginning);
  752. transformed.Should().Be(String.Empty);
  753. }
  754. [Test]
  755. public void RemoveStartingStartOfFirstOccurrenceIgnoringCaseFromEndInEmptyString()
  756. {
  757. string transformed = String.Empty.Remove().Starting(The.StartOf, Const.SampleMarker).IgnoringCase().From(The.End);
  758. transformed.Should().Be(String.Empty);
  759. }
  760. [Test]
  761. public void RemoveStartingStartOfFirstOccurrenceOfNullIgnoringCaseFromBeginning()
  762. {
  763. string transformed = Const.SampleString.Remove().Starting(The.StartOf, null).IgnoringCase().From(The.Beginning);
  764. transformed.Should().Be(Const.SampleString);
  765. }
  766. [Test]
  767. public void RemoveStartingStartOfFirstOccurrenceOfNullIgnoringCaseFromEnd()
  768. {
  769. string transformed = Const.SampleString.Remove().Starting(The.StartOf, null).IgnoringCase().From(The.End);
  770. transformed.Should().Be(Const.SampleString);
  771. }
  772. [Test]
  773. public void RemoveStartingStartOfFirstOccurrenceOfEmptyMarkerIgnoringCaseFromBeginning()
  774. {
  775. string transformed = Const.SampleString.Remove().Starting(The.StartOf, String.Empty).IgnoringCase().From(The.Beginning);
  776. transformed.Should().Be(Const.SampleString);
  777. }
  778. [Test]
  779. public void RemoveStartingStartOfFirstOccurrenceOfEmptyMarkerIgnoringCaseFromEnd()
  780. {
  781. string transformed = Const.SampleString.Remove().Starting(The.StartOf, String.Empty).IgnoringCase().From(The.End);
  782. transformed.Should().Be(Const.SampleString);
  783. }
  784. [Test]
  785. public void RemoveStartingBeginningFirstOccurrenceIndexIgnoringCaseFromBeginning()
  786. {
  787. Action action = () => "Some very very long string".Remove().Starting(The.Beginning, "very").IgnoringCase().From(The.Beginning).ToString();
  788. action.ShouldThrow<ArgumentOutOfRangeException>();
  789. }
  790. [Test]
  791. public void RemoveStartingEndFirstOccurrenceIndexIgnoringCaseFromBeginning()
  792. {
  793. Action action = () => "Some very very long string".Remove().Starting(The.End, "very").IgnoringCase().From(The.Beginning).ToString();
  794. action.ShouldThrow<ArgumentOutOfRangeException>();
  795. }
  796. [Test]
  797. public void RemoveStartingStartOfFirstOccurrenceIndexIgnoringCaseFromStartOf()
  798. {
  799. Action action = () => "Some very very long string".Remove().Starting(The.StartOf, "very").IgnoringCase().From(The.StartOf).ToString();
  800. action.ShouldThrow<ArgumentOutOfRangeException>();
  801. }
  802. [Test]
  803. public void RemoveStartingStartOfFirstOccurrenceIndexIgnoringCaseFromEndOf()
  804. {
  805. Action action = () => "Some very very long string".Remove().Starting(The.StartOf, "very").IgnoringCase().From(The.EndOf).ToString();
  806. action.ShouldThrow<ArgumentOutOfRangeException>();
  807. }
  808. [Test]
  809. public void RemoveStartingEndOfFirstOccurrenceIndexIgnoringCaseFromStartOf()
  810. {
  811. Action action = () => "Some very very long string".Remove().Starting(The.EndOf, "very").IgnoringCase().From(The.StartOf).ToString();
  812. action.ShouldThrow<ArgumentOutOfRangeException>();
  813. }
  814. [Test]
  815. public void RemoveStartingEndOfFirstOccurrenceIndexIgnoringCaseFromEndOf()
  816. {
  817. Action action = () => "Some very very long string".Remove().Starting(The.EndOf, "very").IgnoringCase().From(The.EndOf).ToString();
  818. action.ShouldThrow<ArgumentOutOfRangeException>();
  819. }
  820. [Test]
  821. public void RemoveStartingBeginningFirstOccurrenceIndexIgnoringCaseFromEnd()
  822. {
  823. Action action = () => "Some very very long string".Remove().Starting(The.Beginning, "very").IgnoringCase().From(The.End).ToString();
  824. action.ShouldThrow<ArgumentOutOfRangeException>();
  825. }
  826. [Test]
  827. public void RemoveStartingEndFirstOccurrenceIndexIgnoringCaseFromEnd()
  828. {
  829. Action action = () => "Some very very long string".Remove().Starting(The.End, "very").IgnoringCase().From(The.End).ToString();
  830. action.ShouldThrow<ArgumentOutOfRangeException>();
  831. }
  832. [Test]
  833. public void RemoveStartingStartOfFirstOccurrenceIgnoringCaseFromBeginning()
  834. {
  835. string transformed = "Some very long string".Remove().Starting(The.StartOf, " LoNg").IgnoringCase().From(The.Beginning);
  836. transformed.Should().Be("Some very");
  837. }
  838. [Test]
  839. public void RemoveStartingStartOfFirstOccurrenceIgnoringCaseFromEnd()
  840. {
  841. string transformed = "Some very long string".Remove().Starting(The.StartOf, " VERY").IgnoringCase().From(The.End);
  842. transformed.Should().Be("Some");
  843. }
  844. [Test]
  845. public void RemoveStartingStartOfFirstOccurrenceIgnoringCaseFromBeginningAtBeginning()
  846. {
  847. string transformed = "SOME VERY LONG STRING".Remove().Starting(The.StartOf, "Some").IgnoringCase().From(The.Beginning);
  848. transformed.Should().Be(String.Empty);
  849. }
  850. [Test]
  851. public void RemoveStartingStartOfFirstOccurrenceIgnoringCaseFromEndAtBeginning()
  852. {
  853. string transformed = "SOmE very long string".Remove().Starting(The.StartOf, "Some").IgnoringCase().From(The.End);
  854. transformed.Should().Be(String.Empty);
  855. }
  856. [Test]
  857. public void RemoveStartingStartOfFirstOccurrenceIgnoringCaseFromBeginningAtEnd()
  858. {
  859. string transformed = "Some very long sTRINg".Remove().Starting(The.StartOf, "StrinG").IgnoringCase().From(The.Beginning);
  860. transformed.Should().Be("Some very long ");
  861. }
  862. [Test]
  863. public void RemoveStartingStartOfFirstOccurrenceIgnoringCaseFromEndAtEnd()
  864. {
  865. string transformed = "Some very long STRING".Remove().Starting(The.StartOf, "string").IgnoringCase().From(The.End);
  866. transformed.Should().Be("Some very long ");
  867. }
  868. [Test]
  869. public void RemoveStartingStartOfFirstOccurrenceIgnoringCaseFromBeginningHavingTwoOccurrences()
  870. {
  871. string transformed = "Some VERY VERY long string".Remove().Starting(The.StartOf, "very").IgnoringCase().From(The.Beginning);
  872. transformed.Should().Be("Some ");
  873. }
  874. [Test]
  875. public void RemoveStartingStartOfFirstOccurrenceIgnoringCaseFromEndHavingTwoOccurrences()
  876. {
  877. string transformed = "Some VERY VERY long string".Remove().Starting(The.StartOf, "very").IgnoringCase().From(The.End);
  878. transformed.Should().Be("Some VERY ");
  879. }
  880. [Test]
  881. public void RemoveStartingEndOfFirstOccurrenceOfNullIgnoringCaseFromBeginningInNullString()
  882. {
  883. string transformed = Const.NullString.Remove().Starting(The.EndOf, null).IgnoringCase().From(The.Beginning);
  884. transformed.Should().Be(Const.NullString);
  885. }
  886. [Test]
  887. public void RemoveStartingEndOfFirstOccurrenceOfNullIgnoringCaseFromEndInNullString()
  888. {
  889. string transformed = Const.NullString.Remove().Starting(The.EndOf, null).IgnoringCase().From(The.End);
  890. transformed.Should().Be(Const.NullString);
  891. }
  892. [Test]
  893. public void RemoveStartingEndOfFirstOccurrenceOfEmptyMarkerIgnoringCaseFromBeginningInNullString()
  894. {
  895. string transformed = Const.NullString.Remove().Starting(The.EndOf, String.Empty).IgnoringCase().From(The.Beginning);
  896. transformed.Should().Be(Const.NullString);
  897. }
  898. [Test]
  899. public void RemoveStartingEndOfFirstOccurrenceOfEmptyMarkerIgnoringCaseFromEndInNullString()
  900. {
  901. string transformed = Const.NullString.Remove().Starting(The.EndOf, String.Empty).IgnoringCase().From(The.End);
  902. transformed.Should().Be(Const.NullString);
  903. }
  904. [Test]
  905. public void RemoveStartingEndOfFirstOccurrenceIgnoringCaseFromBeginningInNullString()
  906. {
  907. string transformed = Const.NullString.Remove().Starting(The.EndOf, Const.SampleMarker).IgnoringCase().From(The.Beginning);
  908. transformed.Should().Be(Const.NullString);
  909. }
  910. [Test]
  911. public void RemoveStartingEndOfFirstOccurrenceIgnoringCaseFromEndInNullString()
  912. {
  913. string transformed = Const.NullString.Remove().Starting(The.EndOf, Const.SampleMarker).IgnoringCase().From(The.End);
  914. transformed.Should().Be(Const.NullString);
  915. }
  916. [Test]
  917. public void RemoveStartingEndOfFirstOccurrenceOfNullIgnoringCaseFromBeginningInEmptyString()
  918. {
  919. string transformed = String.Empty.Remove().Starting(The.EndOf, null).IgnoringCase().From(The.Beginning);
  920. transformed.Should().Be(String.Empty);
  921. }
  922. [Test]
  923. public void RemoveStartingEndOfFirstOccurrenceOfNullIgnoringCaseFromEndInEmptyString()
  924. {
  925. string transformed = String.Empty.Remove().Starting(The.EndOf, null).IgnoringCase().From(The.End);
  926. transformed.Should().Be(String.Empty);
  927. }
  928. [Test]
  929. public void RemoveStartingEndOfFirstOccurrenceOfEmptyMarkerIgnoringCaseFromBeginningInEmptyString()
  930. {
  931. string transformed = String.Empty.Remove().Starting(The.EndOf, String.Empty).IgnoringCase().From(The.Beginning);
  932. transformed.Should().Be(null);
  933. }
  934. [Test]
  935. public void RemoveStartingEndOfFirstOccurrenceOfEmptyMarkerIgnoringCaseFromEndInEmptyString()
  936. {
  937. string transformed = String.Empty.Remove().Starting(The.EndOf, String.Empty).IgnoringCase().From(The.End);
  938. transformed.Should().Be(null);
  939. }
  940. [Test]
  941. public void RemoveStartingEndOfFirstOccurrenceIgnoringCaseFromBeginningInEmptyString()
  942. {
  943. string transformed = String.Empty.Remove().Starting(The.EndOf, Const.SampleMarker).IgnoringCase().From(The.Beginning);
  944. transformed.Should().Be(String.Empty);
  945. }
  946. [Test]
  947. public void RemoveStartingEndOfFirstOccurrenceIgnoringCaseFromEndInEmptyString()
  948. {
  949. string transformed = String.Empty.Remove().Starting(The.EndOf, Const.SampleMarker).IgnoringCase().From(The.End);
  950. transformed.Should().Be(String.Empty);
  951. }
  952. [Test]
  953. public void RemoveStartingEndOfFirstOccurrenceOfNullIgnoringCaseFromBeginning()
  954. {
  955. string transformed = Const.SampleString.Remove().Starting(The.EndOf, null).IgnoringCase().From(The.Beginning);
  956. transformed.Should().Be(Const.SampleString);
  957. }
  958. [Test]
  959. public void RemoveStartingEndOfFirstOccurrenceOfNullIgnoringCaseFromEnd()
  960. {
  961. string transformed = Const.SampleString.Remove().Starting(The.EndOf, null).IgnoringCase().From(The.End);
  962. transformed.Should().Be(Const.SampleString);
  963. }
  964. [Test]
  965. public void RemoveStartingEndOfFirstOccurrenceOfEmptyMarkerIgnoringCaseFromBeginning()
  966. {
  967. string transformed = Const.SampleString.Remove().Starting(The.EndOf, String.Empty).IgnoringCase().From(The.Beginning);
  968. transformed.Should().Be(Const.SampleString);
  969. }
  970. [Test]
  971. public void RemoveStartingEndOfFirstOccurrenceOfEmptyMarkerIgnoringCaseFromEnd()
  972. {
  973. string transformed = Const.SampleString.Remove().Starting(The.EndOf, String.Empty).IgnoringCase().From(The.End);
  974. transformed.Should().Be(Const.SampleString);
  975. }
  976. [Test]
  977. public void RemoveStartingEndOfFirstOccurrenceIgnoringCaseFromBeginning()
  978. {
  979. string transformed = "Some very long string".Remove().Starting(The.EndOf, "LoNg").IgnoringCase().From(The.Beginning);
  980. transformed.Should().Be("Some very long");
  981. }
  982. [Test]
  983. public void RemoveStartingEndOfFirstOccurrenceIgnoringCaseFromEnd()
  984. {
  985. string transformed = "Some very long string".Remove().Starting(The.EndOf, "VERY").IgnoringCase().From(The.End);
  986. transformed.Should().Be("Some very");
  987. }
  988. [Test]
  989. public void RemoveStartingEndOfFirstOccurrenceIgnoringCaseFromBeginningAtBeginning()
  990. {
  991. string transformed = "SOME VERY LONG STRING".Remove().Starting(The.EndOf, "Some").IgnoringCase().From(The.Beginning);
  992. transformed.Should().Be("SOME");
  993. }
  994. [Test]
  995. public void RemoveStartingEndOfFirstOccurrenceIgnoringCaseFromEndAtBeginning()
  996. {
  997. string transformed = "SOmE very long string".Remove().Starting(The.EndOf, "Some").IgnoringCase().From(The.End);
  998. transformed.Should().Be("SOmE");
  999. }
  1000. [Test]
  1001. public void RemoveStartingEndOfFirstOccurrenceIgnoringCaseFromBeginningAtEnd()
  1002. {
  1003. string transformed = "Some very long sTRINg".Remove().Starting(The.EndOf, "StrinG").IgnoringCase().From(The.Beginning);
  1004. transformed.Should().Be("Some very long sTRINg");
  1005. }
  1006. [Test]
  1007. public void RemoveStartingEndOfFirstOccurrenceIgnoringCaseFromEndAtEnd()
  1008. {
  1009. string transformed = "Some very long STRING".Remove().Starting(The.EndOf, "string").IgnoringCase().From(The.End);
  1010. transformed.Should().Be("Some very long STRING");
  1011. }
  1012. [Test]
  1013. public void RemoveStartingEndOfFirstOccurrenceIgnoringCaseFromBeginningHavingTwoOccurrences()
  1014. {
  1015. string transformed = "Some VERY VERY long string".Remove().Starting(The.EndOf, "very").IgnoringCase().From(The.Beginning);
  1016. transformed.Should().Be("Some VERY");
  1017. }
  1018. [Test]
  1019. public void RemoveStartingEndOfFirstOccurrenceIgnoringCaseFromEndHavingTwoOccurrences()
  1020. {
  1021. string transformed = "Some VERY VERY long string".Remove().Starting(The.EndOf, "very").IgnoringCase().From(The.End);
  1022. transformed.Should().Be("Some VERY VERY");
  1023. }
  1024. #endregion
  1025. }
  1026. }