public void TransitiveCentralPackageVersions_TryAdd_DuplicatesAreIgnored() { // Arrange var transitiveCentralPackageVersions = new RemoteDependencyWalker.TransitiveCentralPackageVersions(); var centralPackageVersionDependency = new LibraryDependency() { LibraryRange = new LibraryRange("name1", VersionRange.Parse("1.0.0"), LibraryDependencyTarget.Package), }; bool resultAdd1 = transitiveCentralPackageVersions.TryAdd(centralPackageVersionDependency); bool resultAdd2 = transitiveCentralPackageVersions.TryAdd(centralPackageVersionDependency); // Assert Assert.True(resultAdd1); Assert.False(resultAdd2); // Once the data is added it cannot be re-added even if after TryTake bool resultTake1 = transitiveCentralPackageVersions.TryTake(out LibraryDependency centralPackageVersionTake1); bool resultAdd3 = transitiveCentralPackageVersions.TryAdd(centralPackageVersionDependency); Assert.True(resultTake1); Assert.False(resultAdd3); }
public void TransitiveCentralPackageVersions_AddAndTake() { // Arrange var transitiveCentralPackageVersions = new RemoteDependencyWalker.TransitiveCentralPackageVersions(); var centralPackageVersionDependency = new LibraryDependency() { LibraryRange = new LibraryRange("name1", VersionRange.Parse("1.0.0"), LibraryDependencyTarget.Package), }; bool resultAdd = transitiveCentralPackageVersions.TryAdd(centralPackageVersionDependency); bool resultTake1 = transitiveCentralPackageVersions.TryTake(out LibraryDependency centralPackageVersionTake1); // nothing more to take bool resultTake2 = transitiveCentralPackageVersions.TryTake(out LibraryDependency centralPackageVersionTake2); // Assert Assert.True(resultAdd); Assert.True(resultTake1); Assert.False(resultTake2); Assert.Equal(centralPackageVersionDependency, centralPackageVersionTake1); Assert.Null(centralPackageVersionTake2); }