public void TestRemoveDependencies() { Assert.IsFalse(String.IsNullOrWhiteSpace(NuSpecPath), "The nuspec path was empty!"); // Create editor. NuSpecEditor editor = new NuSpecEditor(NuSpecPath); // Get current dependencies count int dcount = editor.Dependencies.Count(); Random random = new Random(); int addCount = random.Next(2, 10); // Create random dependencies to add List <NuSpecDependency> dependencies = new List <NuSpecDependency>(addCount); for (int i = 0; i < addCount; i++) { NuSpecDependency newDependency = new NuSpecDependency( Guid.NewGuid().ToString(), random.Next(2) == 0 ? null : Guid.NewGuid().ToString()); dependencies.Add(newDependency); editor.EnsureDependency(newDependency); } // Check dependencies added Assert.IsTrue(editor.HasChanges, "Editor should have registered a change."); Assert.AreEqual( dcount + addCount, editor.Dependencies.Count(), "The number of dependencies should have increased by one!"); foreach (NuSpecDependency dependency in dependencies) { Assert.AreNotEqual( default(NuSpecDependency), editor.Dependencies.SingleOrDefault( d => d.Id.Equals(dependency.Id, StringComparison.OrdinalIgnoreCase) && (dependency.Version == null) || ((d.Version != null) && d.Version.Equals( dependency.Version, StringComparison.OrdinalIgnoreCase))), "The '{0}, {1}' dependency was not added.", dependency.Id, dependency.Version); } // Remove dependencies in one go editor.RemoveDependencies(String.Join(";", dependencies)); // Check dependencies were removed Assert.AreEqual( dcount, editor.Dependencies.Count(), "The number of dependencies should have been restored after removal!"); foreach (NuSpecDependency dependency in dependencies) { Assert.AreEqual( default(NuSpecDependency), editor.Dependencies.SingleOrDefault( d => d.Id.Equals(dependency.Id, StringComparison.OrdinalIgnoreCase) && (dependency.Version == null) || ((d.Version != null) && d.Version.Equals( dependency.Version, StringComparison.OrdinalIgnoreCase))), "The '{0}, {1}' dependency was not removed.", dependency.Id, dependency.Version); } }
public void TestRemoveDependencies() { Assert.IsFalse(String.IsNullOrWhiteSpace(NuSpecPath), "The nuspec path was empty!"); // Create editor. NuSpecEditor editor = new NuSpecEditor(NuSpecPath); // Get current dependencies count int dcount = editor.Dependencies.Count(); Random random = new Random(); int addCount = random.Next(2, 10); // Create random dependencies to add List<NuSpecDependency> dependencies = new List<NuSpecDependency>(addCount); for (int i = 0; i < addCount; i++) { NuSpecDependency newDependency = new NuSpecDependency( Guid.NewGuid().ToString(), random.Next(2) == 0 ? null : Guid.NewGuid().ToString()); dependencies.Add(newDependency); editor.EnsureDependency(newDependency); } // Check dependencies added Assert.IsTrue(editor.HasChanges, "Editor should have registered a change."); Assert.AreEqual( dcount + addCount, editor.Dependencies.Count(), "The number of dependencies should have increased by one!"); foreach (NuSpecDependency dependency in dependencies) Assert.AreNotEqual( default(NuSpecDependency), editor.Dependencies.SingleOrDefault( d => d.Id.Equals(dependency.Id, StringComparison.OrdinalIgnoreCase) && (dependency.Version == null) || ((d.Version != null) && d.Version.Equals( dependency.Version, StringComparison.OrdinalIgnoreCase))), "The '{0}, {1}' dependency was not added.", dependency.Id, dependency.Version); // Remove dependencies in one go editor.RemoveDependencies(String.Join(";", dependencies)); // Check dependencies were removed Assert.AreEqual( dcount, editor.Dependencies.Count(), "The number of dependencies should have been restored after removal!"); foreach (NuSpecDependency dependency in dependencies) Assert.AreEqual( default(NuSpecDependency), editor.Dependencies.SingleOrDefault( d => d.Id.Equals(dependency.Id, StringComparison.OrdinalIgnoreCase) && (dependency.Version == null) || ((d.Version != null) && d.Version.Equals( dependency.Version, StringComparison.OrdinalIgnoreCase))), "The '{0}, {1}' dependency was not removed.", dependency.Id, dependency.Version); }