public void TestDiffEmpty() { // arrange Diff diff1 = new Diff.Builder().Build(); // act // assert Assert.True(Diff.Empty.Equals(diff1)); Assert.True(diff1.IsEmpty); Diff diff2 = new Diff.Builder().WithAdded(Mock.Of <IModule>()).Build(); Assert.False(diff2.IsEmpty); Diff diff3 = new Diff.Builder().WithDesiredStatusUpdated(Mock.Of <IModule>()).Build(); Assert.False(diff2.IsEmpty); Diff diff4 = new Diff.Builder().WithUpdated(Mock.Of <IModule>()).Build(); Assert.False(diff2.IsEmpty); Diff diff5 = new Diff.Builder().WithRemoved("mod1").Build(); Assert.False(diff2.IsEmpty); }
public void TestDiffHash() { var diff1 = new Diff.Builder() .WithAdded(Module1, Module2) .WithRemoved("mod3", "mod4") .Build(); var diff2 = new Diff.Builder() .WithAdded(Module2, Module1) .WithRemoved("mod4", "mod3") .Build(); var diff3 = new Diff.Builder() .WithAdded(Module1A, Module2) .WithRemoved("mod3", "mod4") .Build(); var diff4 = new Diff.Builder() .WithAdded(Module1) .WithRemoved("mod3") .Build(); var diff5 = new Diff.Builder() .WithAdded(Module2) .WithRemoved("mod3") .Build(); var diff6 = new Diff.Builder() .WithAdded(Module1) .WithRemoved("mod3") .Build(); var diff7 = new Diff.Builder() .WithAdded(Module1) .WithRemoved("mod4") .Build(); int hash1 = diff1.GetHashCode(); int hash2 = diff2.GetHashCode(); int hash3 = diff3.GetHashCode(); int hash4 = diff4.GetHashCode(); int hash5 = diff5.GetHashCode(); int hash6 = diff6.GetHashCode(); int hash7 = diff7.GetHashCode(); Assert.Equal(hash1, hash2); Assert.Equal(hash1, hash3); Assert.NotEqual(hash4, hash5); Assert.NotEqual(hash6, hash7); }
public void TestDiffUnordered() { Diff diff1 = new Diff.Builder() .WithAdded(Module1, Module2) .WithRemoved("m3", "m4") .WithUpdated(Module2A, Module3) .Build(); Diff diff2 = new Diff.Builder() .WithAdded(Module2, Module1) .WithRemoved("m4", "m3") .WithUpdated(Module3, Module2A) .Build(); Assert.Equal(diff1, diff2); }
public void TestEquals() { Diff nonEmptyUpdated = new Diff.Builder().WithAdded(Module1).Build(); var nonEmptyRemoved = new Diff.Builder().WithRemoved("module2").Build(); Diff alsoNonEmptyDiff = nonEmptyUpdated; object nonEmptyUpdatedObjectSameReference = nonEmptyUpdated; Assert.False(nonEmptyUpdated.Equals(null)); Assert.True(nonEmptyUpdated.Equals(alsoNonEmptyDiff)); Assert.False(nonEmptyUpdated.Equals(new object())); Assert.True(nonEmptyUpdated.Equals(nonEmptyUpdatedObjectSameReference)); Assert.False(Diff.Empty.Equals(nonEmptyUpdated)); Assert.False(Diff.Empty.Equals(nonEmptyRemoved)); Assert.False(nonEmptyUpdated.Equals(nonEmptyRemoved)); Assert.Equal(Module1, Module1A); Assert.True(nonEmptyUpdated.Equals(new Diff.Builder().WithAdded(Module1A).Build())); }