TextDifferTests.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. using System;
  2. using Masuit.Tools.TextDiff;
  3. using Xunit;
  4. namespace Masuit.Tools.Abstractions.Test.TextDiff;
  5. public class TextDifferTests
  6. {
  7. [Fact]
  8. public void Empty_ShouldReturnEmptyTextDiffer()
  9. {
  10. var empty = TextDiffer.Empty;
  11. Assert.Equal(DiffOperation.Equal, empty.Operation);
  12. Assert.Equal(string.Empty, empty.Text);
  13. }
  14. [Fact]
  15. public void IsEmpty_ShouldReturnTrueForEmptyText()
  16. {
  17. var empty = TextDiffer.Empty;
  18. Assert.True(empty.IsEmpty);
  19. }
  20. [Fact]
  21. public void Equal_ShouldCreateEqualTextDiffer()
  22. {
  23. var text = "test";
  24. var differ = TextDiffer.Equal(text.AsSpan());
  25. Assert.Equal(DiffOperation.Equal, differ.Operation);
  26. Assert.Equal(text, differ.Text);
  27. }
  28. [Fact]
  29. public void Insert_ShouldCreateInsertTextDiffer()
  30. {
  31. var text = "test";
  32. var differ = TextDiffer.Insert(text.AsSpan());
  33. Assert.Equal(DiffOperation.Insert, differ.Operation);
  34. Assert.Equal(text, differ.Text);
  35. }
  36. [Fact]
  37. public void Delete_ShouldCreateDeleteTextDiffer()
  38. {
  39. var text = "test";
  40. var differ = TextDiffer.Delete(text.AsSpan());
  41. Assert.Equal(DiffOperation.Delete, differ.Operation);
  42. Assert.Equal(text, differ.Text);
  43. }
  44. [Fact]
  45. public void Compute_ShouldReturnDiffs()
  46. {
  47. var text1 = "test";
  48. var text2 = "test123";
  49. var diffs = TextDiffer.Compute(text1, text2);
  50. Assert.NotEmpty(diffs);
  51. }
  52. [Fact]
  53. public void IsLargeDelete_ShouldReturnTrueForLargeDelete()
  54. {
  55. var differ = TextDiffer.Delete("large delete".AsSpan());
  56. Assert.True(differ.IsLargeDelete(5));
  57. }
  58. [Fact]
  59. public void ToString_ShouldReturnFormattedString()
  60. {
  61. var differ = TextDiffer.Equal("test\n".AsSpan());
  62. var result = differ.ToString();
  63. Assert.Equal("Diff(Equal,\"test\u00b6\")", result);
  64. }
  65. }