public void FindsManyChangesAtOnce() { OldData.AddTransfer("Package1", "PackageA"); OldData.AddTransfer("Package1", "PackageB"); OldData.AddTransfer("Package2", "PackageC"); OldData.AddTransfer("Package3", "PackageD"); NewData.AddTransfer("Package1", "PackageA"); NewData.AddTransfer("Package1", "PackageE"); NewData.AddTransfer("Package4", "PackageC"); NewData.AddTransfer("Package3", "Packaged"); var changes = Target.ComparePopularityTransfers(OldData, NewData); Assert.Equal(3, changes.Count); Assert.Equal(new[] { "Package1", "Package2", "Package4" }, changes.Keys.ToArray()); Assert.Equal(new[] { "PackageA", "PackageE" }, changes["Package1"]); Assert.Empty(changes["Package2"]); Assert.Equal(new[] { "PackageC" }, changes["Package4"]); TelemetryService.Verify( x => x.TrackPopularityTransfersSetComparison( /*oldCount: */ 3, /*newCount: */ 3, /*changeCount: */ 3, It.IsAny <TimeSpan>()), Times.Once); }
public void FindsRemovedTransfers() { OldData.AddTransfer("PackageA", "PackageB"); OldData.AddTransfer("PackageA", "PackageC"); OldData.AddTransfer("Package1", "Package2"); OldData.AddTransfer("Package1", "Package3"); NewData.AddTransfer("PackageA", "PackageB"); NewData.AddTransfer("PackageA", "PackageC"); var changes = Target.ComparePopularityTransfers(OldData, NewData); var pair = Assert.Single(changes); Assert.Equal("Package1", pair.Key); Assert.Empty(pair.Value); TelemetryService.Verify( x => x.TrackPopularityTransfersSetComparison( /*oldCount: */ 2, /*newCount: */ 1, /*changeCount: */ 1, It.IsAny <TimeSpan>()), Times.Once); }
public void IgnoresCaseChanges() { OldData.AddTransfer("PackageA", "packageb"); OldData.AddTransfer("PackageA", "PackageC"); NewData.AddTransfer("packagea", "PACKAGEB"); NewData.AddTransfer("PackageA", "packageC"); var changes = Target.ComparePopularityTransfers(OldData, NewData); Assert.Empty(changes); TelemetryService.Verify( x => x.TrackPopularityTransfersSetComparison( /*oldCount: */ 1, /*newCount: */ 1, /*changeCount: */ 0, It.IsAny <TimeSpan>()), Times.Once); }
public void FindsNoChanges() { OldData.AddTransfer("PackageA", "PackageB"); OldData.AddTransfer("PackageA", "PackageC"); OldData.AddTransfer("Package1", "Package3"); OldData.AddTransfer("Package1", "Package2"); NewData.AddTransfer("PackageA", "PackageC"); NewData.AddTransfer("PackageA", "PackageB"); NewData.AddTransfer("Package1", "Package2"); NewData.AddTransfer("Package1", "Package3"); var changes = Target.ComparePopularityTransfers(OldData, NewData); Assert.Empty(changes); TelemetryService.Verify( x => x.TrackPopularityTransfersSetComparison( /*oldCount: */ 2, /*newCount: */ 2, /*changeCount: */ 0, It.IsAny <TimeSpan>()), Times.Once); }