PageRenderTime 54ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 1ms

/UnitTests/GitUI.Tests/UserControls/FilterInfoTests.cs

https://github.com/gitextensions/gitextensions
C# | 718 lines | 616 code | 99 blank | 3 comment | 24 complexity | 637403d8cbae149a5f778fc6a9595dee MD5 | raw file
Possible License(s): GPL-3.0
  1. using System;
  2. using System.Collections.Generic;
  3. using ApprovalTests;
  4. using FluentAssertions;
  5. using GitCommands;
  6. using GitUI.UserControls.RevisionGrid;
  7. using LibGit2Sharp;
  8. using Newtonsoft.Json.Linq;
  9. using NUnit.Framework;
  10. namespace GitUITests.UserControls
  11. {
  12. [SetCulture("en-US")]
  13. [SetUICulture("en-US")]
  14. [TestFixture]
  15. public class FilterInfoTests
  16. {
  17. [Test]
  18. public void FilterInfo_ctor_expected()
  19. {
  20. FilterInfo filterInfo = new();
  21. Approvals.Verify(filterInfo);
  22. }
  23. [Test]
  24. public void FilterInfo_ctor_with_Raw_expected()
  25. {
  26. FilterInfo filterInfo = new() { IsRaw = true };
  27. Approvals.Verify(filterInfo);
  28. }
  29. [Test]
  30. public void FilterInfo_ByDateFrom_expected()
  31. {
  32. FilterInfo filterInfo = new();
  33. filterInfo.ByDateFrom.Should().BeFalse();
  34. filterInfo.ByDateFrom = true;
  35. filterInfo.ByDateFrom.Should().BeTrue();
  36. filterInfo.ByDateFrom = false;
  37. filterInfo.ByDateFrom.Should().BeFalse();
  38. }
  39. [TestCase(false, false)]
  40. [TestCase(true, false)]
  41. [TestCase(false, true)]
  42. [TestCase(true, true)]
  43. public void FilterInfo_DateFrom_with_Raw_expected(bool isRaw, bool byDateFrom)
  44. {
  45. DateTime date = new(2022, 1, 15);
  46. FilterInfo filterInfo = new()
  47. {
  48. IsRaw = isRaw,
  49. ByDateFrom = byDateFrom,
  50. DateFrom = date
  51. };
  52. if (isRaw || byDateFrom)
  53. {
  54. filterInfo.DateFrom.Should().Be(date);
  55. }
  56. else
  57. {
  58. filterInfo.DateFrom.Should().Be(DateTime.MinValue);
  59. }
  60. }
  61. [Test]
  62. public void FilterInfo_ByDateTo_expected()
  63. {
  64. FilterInfo filterInfo = new();
  65. filterInfo.ByDateTo.Should().BeFalse();
  66. filterInfo.ByDateTo = true;
  67. filterInfo.ByDateTo.Should().BeTrue();
  68. filterInfo.ByDateTo = false;
  69. filterInfo.ByDateTo.Should().BeFalse();
  70. }
  71. [TestCase(false, false)]
  72. [TestCase(true, false)]
  73. [TestCase(false, true)]
  74. [TestCase(true, true)]
  75. public void FilterInfo_DateTo_with_Raw_expected(bool isRaw, bool byDateTo)
  76. {
  77. DateTime date = new(2022, 1, 15);
  78. FilterInfo filterInfo = new()
  79. {
  80. IsRaw = isRaw,
  81. ByDateTo = byDateTo,
  82. DateTo = date
  83. };
  84. if (isRaw || byDateTo)
  85. {
  86. filterInfo.DateTo.Should().Be(date);
  87. }
  88. else
  89. {
  90. filterInfo.DateTo.Should().Be(DateTime.MinValue);
  91. }
  92. }
  93. [Test]
  94. public void FilterInfo_ByAuthor_expected()
  95. {
  96. FilterInfo filterInfo = new();
  97. filterInfo.ByAuthor.Should().BeFalse();
  98. filterInfo.ByAuthor = true;
  99. filterInfo.ByAuthor.Should().BeTrue();
  100. filterInfo.ByAuthor = false;
  101. filterInfo.ByAuthor.Should().BeFalse();
  102. }
  103. [TestCase(false, false)]
  104. [TestCase(true, false)]
  105. [TestCase(false, true)]
  106. [TestCase(true, true)]
  107. public void FilterInfo_Author_with_Raw_expected(bool isRaw, bool byAuthor)
  108. {
  109. const string value = "The Value";
  110. FilterInfo filterInfo = new()
  111. {
  112. IsRaw = isRaw,
  113. ByAuthor = byAuthor,
  114. Author = value
  115. };
  116. if (isRaw || byAuthor)
  117. {
  118. filterInfo.Author.Should().Be(value);
  119. }
  120. else
  121. {
  122. filterInfo.Author.Should().BeEmpty();
  123. }
  124. }
  125. [Test]
  126. public void FilterInfo_ByCommitter_expected()
  127. {
  128. FilterInfo filterInfo = new();
  129. filterInfo.ByCommitter.Should().BeFalse();
  130. filterInfo.ByCommitter = true;
  131. filterInfo.ByCommitter.Should().BeTrue();
  132. filterInfo.ByCommitter = false;
  133. filterInfo.ByCommitter.Should().BeFalse();
  134. }
  135. [TestCase(false, false)]
  136. [TestCase(true, false)]
  137. [TestCase(false, true)]
  138. [TestCase(true, true)]
  139. public void FilterInfo_Committer_with_Raw_expected(bool isRaw, bool byCommitter)
  140. {
  141. const string value = "The Value";
  142. FilterInfo filterInfo = new()
  143. {
  144. IsRaw = isRaw,
  145. ByCommitter = byCommitter,
  146. Committer = value
  147. };
  148. if (isRaw || byCommitter)
  149. {
  150. filterInfo.Committer.Should().Be(value);
  151. }
  152. else
  153. {
  154. filterInfo.Committer.Should().BeEmpty();
  155. }
  156. }
  157. [Test]
  158. public void FilterInfo_ByMessage_expected()
  159. {
  160. FilterInfo filterInfo = new();
  161. filterInfo.ByMessage.Should().BeFalse();
  162. filterInfo.ByMessage = true;
  163. filterInfo.ByMessage.Should().BeTrue();
  164. filterInfo.ByMessage = false;
  165. filterInfo.ByMessage.Should().BeFalse();
  166. }
  167. [TestCase(false, false)]
  168. [TestCase(true, false)]
  169. [TestCase(false, true)]
  170. [TestCase(true, true)]
  171. public void FilterInfo_Message_with_Raw_expected(bool isRaw, bool byMessage)
  172. {
  173. const string value = "The Value";
  174. FilterInfo filterInfo = new()
  175. {
  176. IsRaw = isRaw,
  177. ByMessage = byMessage,
  178. Message = value
  179. };
  180. if (isRaw || byMessage)
  181. {
  182. filterInfo.Message.Should().Be(value);
  183. }
  184. else
  185. {
  186. filterInfo.Message.Should().BeEmpty();
  187. }
  188. }
  189. [Test]
  190. public void FilterInfo_ByDiffContent_expected()
  191. {
  192. FilterInfo filterInfo = new();
  193. filterInfo.ByDiffContent.Should().BeFalse();
  194. filterInfo.ByDiffContent = true;
  195. filterInfo.ByDiffContent.Should().BeTrue();
  196. filterInfo.ByDiffContent = false;
  197. filterInfo.ByDiffContent.Should().BeFalse();
  198. }
  199. [TestCase(false, false)]
  200. [TestCase(true, false)]
  201. [TestCase(false, true)]
  202. [TestCase(true, true)]
  203. public void FilterInfo_DiffContent_with_Raw_expected(bool isRaw, bool byDiffContent)
  204. {
  205. const string value = "The Value";
  206. FilterInfo filterInfo = new()
  207. {
  208. IsRaw = isRaw,
  209. ByDiffContent = byDiffContent,
  210. DiffContent = value
  211. };
  212. if (isRaw || byDiffContent)
  213. {
  214. filterInfo.DiffContent.Should().Be(value);
  215. }
  216. else
  217. {
  218. filterInfo.DiffContent.Should().BeEmpty();
  219. }
  220. }
  221. [Test]
  222. public void FilterInfo_IgnoreCase_expected()
  223. {
  224. FilterInfo filterInfo = new();
  225. filterInfo.IgnoreCase.Should().BeTrue();
  226. filterInfo.IgnoreCase = false;
  227. filterInfo.IgnoreCase.Should().BeFalse();
  228. filterInfo.IgnoreCase = true;
  229. filterInfo.IgnoreCase.Should().BeTrue();
  230. }
  231. [Test]
  232. public void FilterInfo_HasCommitsLimit_expected()
  233. {
  234. FilterInfo filterInfo = new() { IsRaw = true };
  235. filterInfo.HasCommitsLimit.Should().BeTrue();
  236. filterInfo.ByCommitsLimit = true;
  237. filterInfo.CommitsLimit = 0;
  238. filterInfo.HasCommitsLimit.Should().BeFalse();
  239. }
  240. [Test]
  241. public void FilterInfo_ByCommitsLimit_expected()
  242. {
  243. FilterInfo filterInfo = new();
  244. filterInfo.ByCommitsLimit.Should().BeFalse();
  245. filterInfo.ByCommitsLimit = true;
  246. filterInfo.ByCommitsLimit.Should().BeTrue();
  247. filterInfo.ByCommitsLimit = false;
  248. filterInfo.ByCommitsLimit.Should().BeFalse();
  249. }
  250. [TestCase(0, false)]
  251. [TestCase(100, false)]
  252. [TestCase(-100, true)]
  253. [TestCase(0, true)]
  254. [TestCase(100, true)]
  255. [TestCase(-100, true)]
  256. public void FilterInfo_CommitsLimit_with_Raw_expected(int value, bool byCommitsLimit)
  257. {
  258. FilterInfo filterInfo = new()
  259. {
  260. ByCommitsLimit = byCommitsLimit,
  261. CommitsLimit = value
  262. };
  263. if (byCommitsLimit && value >= 0)
  264. {
  265. filterInfo.CommitsLimit.Should().Be(value);
  266. }
  267. else
  268. {
  269. filterInfo.CommitsLimit.Should().Be(AppSettings.MaxRevisionGraphCommits);
  270. }
  271. }
  272. [Test]
  273. public void FilterInfo_ByPathFilter_expected()
  274. {
  275. FilterInfo filterInfo = new();
  276. filterInfo.ByPathFilter.Should().BeFalse();
  277. filterInfo.ByPathFilter = true;
  278. filterInfo.ByPathFilter.Should().BeTrue();
  279. filterInfo.ByPathFilter = false;
  280. filterInfo.ByPathFilter.Should().BeFalse();
  281. }
  282. [TestCase(false, false)]
  283. [TestCase(true, false)]
  284. [TestCase(false, true)]
  285. [TestCase(true, true)]
  286. public void FilterInfo_PathFilter_with_Raw_expected(bool isRaw, bool byPathFilter)
  287. {
  288. const string value = "The Value";
  289. FilterInfo filterInfo = new()
  290. {
  291. IsRaw = isRaw,
  292. ByPathFilter = byPathFilter,
  293. PathFilter = value
  294. };
  295. if (isRaw || byPathFilter)
  296. {
  297. filterInfo.PathFilter.Should().Be(value);
  298. }
  299. else
  300. {
  301. filterInfo.PathFilter.Should().BeEmpty();
  302. }
  303. }
  304. [Test]
  305. public void FilterInfo_ByBranchFilter_expected()
  306. {
  307. bool originalBranchFilterEnabled = AppSettings.BranchFilterEnabled;
  308. AppSettings.BranchFilterEnabled = false;
  309. try
  310. {
  311. FilterInfo filterInfo = new();
  312. filterInfo.ByBranchFilter.Should().BeFalse();
  313. AppSettings.BranchFilterEnabled.Should().BeFalse();
  314. filterInfo.ByBranchFilter = true;
  315. filterInfo.ByBranchFilter.Should().BeTrue();
  316. AppSettings.BranchFilterEnabled.Should().BeTrue();
  317. filterInfo.ByBranchFilter = false;
  318. filterInfo.ByBranchFilter.Should().BeFalse();
  319. AppSettings.BranchFilterEnabled.Should().BeFalse();
  320. AppSettings.BranchFilterEnabled = true;
  321. filterInfo.ByBranchFilter.Should().BeTrue();
  322. }
  323. finally
  324. {
  325. AppSettings.BranchFilterEnabled = originalBranchFilterEnabled;
  326. }
  327. }
  328. [TestCase(false, false)]
  329. [TestCase(true, false)]
  330. [TestCase(false, true)]
  331. [TestCase(true, true)]
  332. public void FilterInfo_BranchFilter_with_Raw_expected(bool isRaw, bool byBranchFilter)
  333. {
  334. bool originalBranchFilterEnabled = AppSettings.BranchFilterEnabled;
  335. try
  336. {
  337. const string value = "The Value";
  338. FilterInfo filterInfo = new()
  339. {
  340. IsRaw = isRaw,
  341. ByBranchFilter = byBranchFilter,
  342. BranchFilter = value
  343. };
  344. if (isRaw || byBranchFilter)
  345. {
  346. filterInfo.BranchFilter.Should().Be(value);
  347. }
  348. else
  349. {
  350. filterInfo.BranchFilter.Should().BeEmpty();
  351. }
  352. }
  353. finally
  354. {
  355. AppSettings.BranchFilterEnabled = originalBranchFilterEnabled;
  356. }
  357. }
  358. // TODO: RefFilterOptions
  359. [TestCase(false, true)]
  360. [TestCase(true, false)]
  361. public void FilterInfo_IsShowAllBranchesChecked_expected(bool byBranchFilter, bool expected)
  362. {
  363. bool originalBranchFilterEnabled = AppSettings.BranchFilterEnabled;
  364. try
  365. {
  366. FilterInfo filterInfo = new()
  367. {
  368. ByBranchFilter = byBranchFilter,
  369. };
  370. filterInfo.IsShowAllBranchesChecked.Should().Be(expected);
  371. }
  372. finally
  373. {
  374. AppSettings.BranchFilterEnabled = originalBranchFilterEnabled;
  375. }
  376. }
  377. [TestCase(false, false, false)]
  378. [TestCase(true, false, false)]
  379. [TestCase(false, true, false)]
  380. [TestCase(true, true, true)]
  381. public void FilterInfo_IsShowCurrentBranchOnlyChecked_expected(bool byBranchFilter, bool showCurrentBranchOnly, bool expected)
  382. {
  383. bool originalBranchFilterEnabled = AppSettings.BranchFilterEnabled;
  384. bool originalShowCurrentBranchOnly = AppSettings.ShowCurrentBranchOnly;
  385. try
  386. {
  387. FilterInfo filterInfo = new()
  388. {
  389. ByBranchFilter = byBranchFilter,
  390. ShowCurrentBranchOnly = showCurrentBranchOnly
  391. };
  392. filterInfo.IsShowCurrentBranchOnlyChecked.Should().Be(expected);
  393. }
  394. finally
  395. {
  396. AppSettings.BranchFilterEnabled = originalBranchFilterEnabled;
  397. AppSettings.ShowCurrentBranchOnly = originalShowCurrentBranchOnly;
  398. }
  399. }
  400. [TestCase(false, false, false)]
  401. [TestCase(true, false, true)]
  402. [TestCase(false, true, false)]
  403. [TestCase(true, true, false)]
  404. public void FilterInfo_IsShowFilteredBranchesChecked_expected(bool byBranchFilter, bool showCurrentBranchOnly, bool expected)
  405. {
  406. bool originalBranchFilterEnabled = AppSettings.BranchFilterEnabled;
  407. bool originalShowCurrentBranchOnly = AppSettings.ShowCurrentBranchOnly;
  408. try
  409. {
  410. FilterInfo filterInfo = new()
  411. {
  412. ByBranchFilter = byBranchFilter,
  413. ShowCurrentBranchOnly = showCurrentBranchOnly
  414. };
  415. filterInfo.IsShowFilteredBranchesChecked.Should().Be(expected);
  416. }
  417. finally
  418. {
  419. AppSettings.BranchFilterEnabled = originalBranchFilterEnabled;
  420. AppSettings.ShowCurrentBranchOnly = originalShowCurrentBranchOnly;
  421. }
  422. }
  423. [Test]
  424. public void FilterInfo_ShowCurrentBranchOnly_expected()
  425. {
  426. bool originalShowCurrentBranchOnly = AppSettings.ShowCurrentBranchOnly;
  427. AppSettings.ShowCurrentBranchOnly = false;
  428. try
  429. {
  430. FilterInfo filterInfo = new();
  431. filterInfo.ShowCurrentBranchOnly.Should().BeFalse();
  432. AppSettings.ShowCurrentBranchOnly.Should().BeFalse();
  433. filterInfo.ShowCurrentBranchOnly = true;
  434. filterInfo.ShowCurrentBranchOnly.Should().BeTrue();
  435. AppSettings.ShowCurrentBranchOnly.Should().BeTrue();
  436. filterInfo.ShowCurrentBranchOnly = false;
  437. filterInfo.ShowCurrentBranchOnly.Should().BeFalse();
  438. AppSettings.ShowCurrentBranchOnly.Should().BeFalse();
  439. AppSettings.ShowCurrentBranchOnly = true;
  440. filterInfo.ShowCurrentBranchOnly.Should().BeTrue();
  441. }
  442. finally
  443. {
  444. AppSettings.ShowCurrentBranchOnly = originalShowCurrentBranchOnly;
  445. }
  446. }
  447. [Test]
  448. public void FilterInfo_ShowFirstParent_expected()
  449. {
  450. bool originalShowFirstParent = AppSettings.ShowFirstParent;
  451. AppSettings.ShowFirstParent = false;
  452. try
  453. {
  454. FilterInfo filterInfo = new();
  455. filterInfo.ShowFirstParent.Should().BeFalse();
  456. AppSettings.ShowFirstParent.Should().BeFalse();
  457. filterInfo.ShowFirstParent = true;
  458. filterInfo.ShowFirstParent.Should().BeTrue();
  459. AppSettings.ShowFirstParent.Should().BeTrue();
  460. filterInfo.ShowFirstParent = false;
  461. filterInfo.ShowFirstParent.Should().BeFalse();
  462. AppSettings.ShowFirstParent.Should().BeFalse();
  463. AppSettings.ShowFirstParent = true;
  464. filterInfo.ShowFirstParent.Should().BeTrue();
  465. }
  466. finally
  467. {
  468. AppSettings.ShowFirstParent = originalShowFirstParent;
  469. }
  470. }
  471. [Test]
  472. public void FilterInfo_ShowReflogReferences_expected()
  473. {
  474. bool originalBranchFilterEnabled = AppSettings.BranchFilterEnabled;
  475. bool originalShowCurrentBranchOnly = AppSettings.ShowCurrentBranchOnly;
  476. bool originalShowReflogReferences = AppSettings.ShowReflogReferences;
  477. AppSettings.ShowReflogReferences = false;
  478. try
  479. {
  480. FilterInfo filterInfo = new();
  481. filterInfo.ShowReflogReferences.Should().BeFalse();
  482. AppSettings.ShowReflogReferences.Should().BeFalse();
  483. filterInfo.ShowReflogReferences = true;
  484. filterInfo.ShowReflogReferences.Should().BeTrue();
  485. AppSettings.ShowReflogReferences.Should().BeTrue();
  486. filterInfo.ShowReflogReferences = false;
  487. filterInfo.ShowReflogReferences.Should().BeFalse();
  488. AppSettings.ShowReflogReferences.Should().BeFalse();
  489. AppSettings.ShowReflogReferences = true;
  490. filterInfo.ShowReflogReferences.Should().BeTrue();
  491. }
  492. finally
  493. {
  494. AppSettings.BranchFilterEnabled = originalBranchFilterEnabled;
  495. AppSettings.ShowCurrentBranchOnly = originalShowCurrentBranchOnly;
  496. AppSettings.ShowReflogReferences = originalShowReflogReferences;
  497. }
  498. }
  499. [TestCase(false, false)]
  500. [TestCase(true, false)]
  501. [TestCase(false, true)]
  502. [TestCase(true, true)]
  503. public void FilterInfo_ShowReflogReferences_resets_filters(bool byBranchFilter, bool showCurrentBranchOnly)
  504. {
  505. bool originalBranchFilterEnabled = AppSettings.BranchFilterEnabled;
  506. bool originalShowCurrentBranchOnly = AppSettings.ShowCurrentBranchOnly;
  507. bool originalShowReflogReferences = AppSettings.ShowReflogReferences;
  508. AppSettings.ShowReflogReferences = false;
  509. try
  510. {
  511. FilterInfo filterInfo = new()
  512. {
  513. ByBranchFilter = byBranchFilter,
  514. ShowCurrentBranchOnly = showCurrentBranchOnly
  515. };
  516. filterInfo.ShowReflogReferences = true;
  517. filterInfo.ByBranchFilter.Should().BeFalse();
  518. filterInfo.ShowCurrentBranchOnly.Should().BeFalse();
  519. }
  520. finally
  521. {
  522. AppSettings.BranchFilterEnabled = originalBranchFilterEnabled;
  523. AppSettings.ShowCurrentBranchOnly = originalShowCurrentBranchOnly;
  524. AppSettings.ShowReflogReferences = originalShowReflogReferences;
  525. }
  526. }
  527. [Test]
  528. public void FilterInfo_ShowSimplifyByDecoration_expected()
  529. {
  530. bool originalShowSimplifyByDecoration = AppSettings.ShowSimplifyByDecoration;
  531. AppSettings.ShowSimplifyByDecoration = false;
  532. try
  533. {
  534. FilterInfo filterInfo = new();
  535. filterInfo.ShowSimplifyByDecoration.Should().BeFalse();
  536. AppSettings.ShowSimplifyByDecoration.Should().BeFalse();
  537. filterInfo.ShowSimplifyByDecoration = true;
  538. filterInfo.ShowSimplifyByDecoration.Should().BeTrue();
  539. AppSettings.ShowSimplifyByDecoration.Should().BeTrue();
  540. filterInfo.ShowSimplifyByDecoration = false;
  541. filterInfo.ShowSimplifyByDecoration.Should().BeFalse();
  542. AppSettings.ShowSimplifyByDecoration.Should().BeFalse();
  543. AppSettings.ShowSimplifyByDecoration = true;
  544. filterInfo.ShowSimplifyByDecoration.Should().BeTrue();
  545. }
  546. finally
  547. {
  548. AppSettings.ShowSimplifyByDecoration = originalShowSimplifyByDecoration;
  549. }
  550. }
  551. public static IEnumerable<TestCaseData> FilterInfo_HasFilterTestCases
  552. {
  553. get
  554. {
  555. foreach (bool byDateFrom in new[] { false, true })
  556. {
  557. foreach (bool byDateTo in new[] { false, true })
  558. {
  559. foreach (bool byAuthor in new[] { false, true })
  560. {
  561. foreach (bool byCommitter in new[] { false, true })
  562. {
  563. foreach (bool byMessage in new[] { false, true })
  564. {
  565. foreach (bool byPathFilter in new[] { false, true })
  566. {
  567. foreach (bool byBranchFilter in new[] { false, true })
  568. {
  569. yield return new TestCaseData(byDateFrom, byDateTo, byAuthor, byCommitter, byMessage, byPathFilter, byBranchFilter);
  570. }
  571. }
  572. }
  573. }
  574. }
  575. }
  576. }
  577. }
  578. }
  579. [TestCaseSource(nameof(FilterInfo_HasFilterTestCases))]
  580. public void FilterInfo_HasFilter_expected(bool byDateFrom, bool byDateTo, bool byAuthor, bool byCommitter, bool byMessage, bool byPathFilter, bool byBranchFilter)
  581. {
  582. FilterInfo filterInfo = new()
  583. {
  584. ByDateFrom = byDateFrom,
  585. ByDateTo = byDateTo,
  586. ByAuthor = byAuthor,
  587. ByCommitter = byCommitter,
  588. ByMessage = byMessage,
  589. ByPathFilter = byPathFilter,
  590. ByBranchFilter = byBranchFilter
  591. };
  592. filterInfo.HasFilter.Should().Be(byDateFrom || byDateTo || byAuthor || byCommitter || byMessage || byPathFilter || byBranchFilter);
  593. }
  594. // TODO: Apply
  595. [TestCaseSource(nameof(FilterInfo_HasFilterTestCases))]
  596. public void FilterInfo_DisableFilters_expected(bool byDateFrom, bool byDateTo, bool byAuthor, bool byCommitter, bool byMessage, bool byPathFilter, bool byBranchFilter)
  597. {
  598. FilterInfo filterInfo = new()
  599. {
  600. ByDateFrom = byDateFrom,
  601. ByDateTo = byDateTo,
  602. ByAuthor = byAuthor,
  603. ByCommitter = byCommitter,
  604. ByMessage = byMessage,
  605. ByPathFilter = byPathFilter,
  606. ByBranchFilter = byBranchFilter
  607. };
  608. filterInfo.DisableFilters();
  609. filterInfo.ByDateFrom.Should().BeFalse();
  610. filterInfo.ByDateTo.Should().BeFalse();
  611. filterInfo.ByAuthor.Should().BeFalse();
  612. filterInfo.ByCommitter.Should().BeFalse();
  613. filterInfo.ByMessage.Should().BeFalse();
  614. filterInfo.ByPathFilter.Should().BeFalse();
  615. filterInfo.ByBranchFilter.Should().BeFalse();
  616. }
  617. // TODO: GetRevisionFilter
  618. }
  619. }