public void When_Comparing_And_LeftIsNull_And_RightHasValue_Should_ReturnNoDifferences() { var item = new DataComparisonItem(null, new byte[] { 3, 4, 5 }); var result = item.Compare(); Assert.Null(result.Differences); }
/// <summary> /// Gets the instance of <see cref="DataComparer.Domain.Entities.DataComparisonItem"/>. /// </summary> public DataComparisonItem Get() { lock (_syncRoot) { return _comparisonItem ?? (_comparisonItem = new DataComparisonItem(null, null)); } }
public void When_SettingRight_Should_NotAffectLeftProperty() { var item = new DataComparisonItem(new byte[] { 0, 1, 2 }, new byte[] { 3, 4, 5 }); item.SetRight(new byte[] { 10, 11, 12 }); Assert.Equal(new byte[] { 0, 1, 2 }, item.Left); }
/// <summary> /// Saves the specified instance of <see cref="DataComparer.Domain.Entities.DataComparisonItem"/>. /// </summary> /// <param name="comparisonItem">A comparison item.</param> public void Save(DataComparisonItem comparisonItem) { Guard.NotNull(comparisonItem, "comparisonItem"); lock (_syncRoot) { _comparisonItem = comparisonItem; } }
public void When_Comparing_And_LeftIsNull_And_RightHasValue_Should_ReturnDifferentSizeState() { var item = new DataComparisonItem(null, new byte[] { 3, 4, 5 }); var result = item.Compare(); Assert.NotNull(result); Assert.Equal(ComparisonState.DifferentSize, result.ComparisonState); }
public void When_Comparing_And_LeftIsNull_And_RightIsNull_Should_ReturnEqualState() { var item = new DataComparisonItem(null, null); var result = item.Compare(); Assert.NotNull(result); Assert.Equal(ComparisonState.Equal, result.ComparisonState); }
public void When_SettingLeft_Should_NotChangeRightData() { var comparisonItem = new DataComparisonItem(GetData("left"), GetData("right")); var repositoryMock = new Mock<IDataComparisonRepository>(MockBehavior.Strict); repositoryMock.Setup(x => x.Get()).Returns(comparisonItem).Verifiable(); repositoryMock.Setup(x => x.Save(It.Is<DataComparisonItem>(item => GetData("right").SequenceEqual(item.Right)))).Verifiable(); var dataComparisonService = new DataComparisonService(repositoryMock.Object); dataComparisonService.SetLeft(GetData("test data")); repositoryMock.VerifyAll(); }
// Helper method to compare and assert differences private void CheckDiffs(byte[] left, byte[] right, ExpectedDifferences expectedDiffs) { var result = new DataComparisonItem(left, right).Compare(); Assert.NotNull(result.Differences); var actualDiffs = result.Differences; Assert.Equal(expectedDiffs.Count, actualDiffs.Count); for (var index = 0; index < expectedDiffs.Count; ++index) { var expectedDiff = expectedDiffs[index]; var actualDiff = actualDiffs.ElementAt(index); Assert.Equal(expectedDiff.Offset, actualDiff.Offset); Assert.Equal(expectedDiff.Length, actualDiff.Length); } }
public void When_Comparing_And_DataHasEqualSizeButDifferentContent_Should_ReturnDifferences() { var left = new byte[] {0, 1, 0, 1, 0, 1, 0, 1, 0, 1}; var right = new byte[] {1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; var item = new DataComparisonItem(left, right); var result = item.Compare(); Assert.NotNull(result.Differences); Assert.Equal(5, result.Differences.Count); var diff1 = result.Differences.ElementAt(0); Assert.Equal(0, diff1.Offset); Assert.Equal(1, diff1.Length); var diff2 = result.Differences.ElementAt(1); Assert.Equal(2, diff2.Offset); Assert.Equal(1, diff2.Length); var diff3 = result.Differences.ElementAt(2); Assert.Equal(4, diff3.Offset); Assert.Equal(1, diff3.Length); var diff4 = result.Differences.ElementAt(3); Assert.Equal(6, diff4.Offset); Assert.Equal(1, diff4.Length); var diff5 = result.Differences.ElementAt(4); Assert.Equal(8, diff5.Offset); Assert.Equal(1, diff5.Length); }
public void When_Comparing_And_DataHasEqualSizeButDifferentContent_Should_ReturnDifferentContentState() { var left = new byte[] {0, 1, 0, 1, 0, 1, 0, 1, 0, 1}; var right = new byte[] {1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; var item = new DataComparisonItem(left, right); var result = item.Compare(); Assert.NotNull(result); Assert.Equal(ComparisonState.DifferentContent, result.ComparisonState); }
public void When_ComparingLargeData_And_RightEqualsLeft_Should_Succeed() { var size = 50 * 1024 * 1024; // 50MB //var size = int.MaxValue; // ~2GB var item = new DataComparisonItem(new byte[size], new byte[size]); var result = item.Compare(); Assert.NotNull(result); Assert.Equal(ComparisonState.Equal, result.ComparisonState); }
public void When_Comparing_And_DataEqualsEmptyArray_Should_ReturnEqualState() { var item = new DataComparisonItem(new byte[] { }, new byte[] { }); var result = item.Compare(); Assert.NotNull(result); Assert.Equal(ComparisonState.Equal, result.ComparisonState); }
public void When_Comparing_And_RightEqualsLeft_Should_ReturnNoDifferences() { var item = new DataComparisonItem(new byte[] { 0, 1, 2 }, new byte[] { 0, 1, 2 }); var result = item.Compare(); Assert.Null(result.Differences); }
public void When_Comparing_And_RightEqualsLeft_Should_ReturnEqualState() { var item = new DataComparisonItem(new byte[] { 0, 1, 2 }, new byte[] { 0, 1, 2 }); var result = item.Compare(); Assert.NotNull(result); Assert.Equal(ComparisonState.Equal, result.ComparisonState); }