1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- using System;
- using Masuit.Tools.TextDiff;
- using Xunit;
- namespace Masuit.Tools.Abstractions.Test.TextDiff;
- public class TextDifferTests
- {
- [Fact]
- public void Empty_ShouldReturnEmptyTextDiffer()
- {
- var empty = TextDiffer.Empty;
- Assert.Equal(DiffOperation.Equal, empty.Operation);
- Assert.Equal(string.Empty, empty.Text);
- }
- [Fact]
- public void IsEmpty_ShouldReturnTrueForEmptyText()
- {
- var empty = TextDiffer.Empty;
- Assert.True(empty.IsEmpty);
- }
- [Fact]
- public void Equal_ShouldCreateEqualTextDiffer()
- {
- var text = "test";
- var differ = TextDiffer.Equal(text.AsSpan());
- Assert.Equal(DiffOperation.Equal, differ.Operation);
- Assert.Equal(text, differ.Text);
- }
- [Fact]
- public void Insert_ShouldCreateInsertTextDiffer()
- {
- var text = "test";
- var differ = TextDiffer.Insert(text.AsSpan());
- Assert.Equal(DiffOperation.Insert, differ.Operation);
- Assert.Equal(text, differ.Text);
- }
- [Fact]
- public void Delete_ShouldCreateDeleteTextDiffer()
- {
- var text = "test";
- var differ = TextDiffer.Delete(text.AsSpan());
- Assert.Equal(DiffOperation.Delete, differ.Operation);
- Assert.Equal(text, differ.Text);
- }
- [Fact]
- public void Compute_ShouldReturnDiffs()
- {
- var text1 = "test";
- var text2 = "test123";
- var diffs = TextDiffer.Compute(text1, text2);
- Assert.NotEmpty(diffs);
- }
- [Fact]
- public void IsLargeDelete_ShouldReturnTrueForLargeDelete()
- {
- var differ = TextDiffer.Delete("large delete".AsSpan());
- Assert.True(differ.IsLargeDelete(5));
- }
- [Fact]
- public void ToString_ShouldReturnFormattedString()
- {
- var differ = TextDiffer.Equal("test\n".AsSpan());
- var result = differ.ToString();
- Assert.Equal("Diff(Equal,\"test\u00b6\")", result);
- }
- }
|