public void UnitRsc_SetEquals2() { #if TEST_BCL var cp = SortedSet <User> .CreateSetComparer(); var user1 = new SortedSet <User>(new UserComparer()); var user2 = new SortedSet <User>(new UserComparer()); #else var cp = RankedSet <User> .CreateSetComparer(); var user1 = new RankedSet <User>(new UserComparer()); var user2 = new RankedSet <User>(new UserComparer()); #endif bool eq0 = cp.Equals(user1, user2); Assert.IsTrue(eq0); user1.Add(new User("admin")); user2.Add(new User("tester")); bool eq1 = cp.Equals(user1, user2); Assert.IsFalse(eq1); user1.Add(new User("tester")); user2.Add(new User("admin")); bool eq2 = cp.Equals(user1, user2); Assert.IsTrue(eq2); }
public void UnitRsc_Equals() { #if TEST_BCL var setComparer2 = SortedSet <string> .CreateSetComparer(); var setComparer3 = SortedSet <int> .CreateSetComparer(); #else var setComparer2 = RankedSet <string> .CreateSetComparer(); var setComparer3 = RankedSet <int> .CreateSetComparer(); #endif bool eq0 = setComparer.Equals(null); Assert.IsFalse(eq0); bool eq1 = setComparer.Equals(setComparer); Assert.IsTrue(eq1); bool eq2 = setComparer.Equals(setComparer2); Assert.IsTrue(eq2); bool eq3 = setComparer.Equals(setComparer3); Assert.IsFalse(eq3); }
static void Main() { var names1 = new string[] { "Falco", "Nico", "David Bowie", "Tom Petty", "Joni Mitchell", "Warren Zevon" }; var names2 = new string[] { "Michelangelo", "Rembrandt", "Joni Mitchell", "David Bowie" }; var musicians = new RankedSet <string> (names1); // Remove mononymous items. Console.WriteLine("Remove single names from the set..."); Console.WriteLine($" Count before: {musicians.Count}"); musicians.RemoveWhere(IsMononymous); Console.WriteLine($" Count after: {musicians.Count}\n"); // List names starting with 'J'. Console.WriteLine("Musicians J-T"); foreach (var name in musicians.ElementsBetween("J", "U")) { Console.WriteLine($" {name}"); } // Create another RankedSet. var painters = new RankedSet <string> (names2); // Remove elements in musicians that are also in painters. Console.WriteLine("\nRemove duplicates (of painters) from the musicians..."); Console.WriteLine($" Count before: {musicians.Count}"); musicians.ExceptWith(painters); Console.WriteLine($" Count after: {musicians.Count}\n"); Console.WriteLine("List of musicians that are not painters:"); foreach (string name in musicians) { Console.WriteLine($" {name}"); } var comp = RankedSet <string> .CreateSetComparer(); HashSet <RankedSet <string> > setOfSets = new HashSet <RankedSet <string> > (comp); setOfSets.Add(musicians); setOfSets.Add(painters); Console.WriteLine("\nAll sets in hash set:"); foreach (var set in setOfSets) { Console.WriteLine($" {set.Count} items:"); foreach (var item in set) { Console.WriteLine($" {item}"); } } // Create a 3rd RankedSet. var people = new RankedSet <string> { "Tom Petty", "Warren Zevon" }; // Create a set equality comparer. var comparer = RankedSet <string> .CreateSetComparer(); Console.WriteLine($"\nSet comparison 1: {comparer.Equals (musicians, people)}"); Console.WriteLine($"Set comparison 2: {comparer.Equals (painters, people)}"); }