public static void AssertMapEquals(IDictionary <NodeId, ICollection <string> > m1, ImmutableMap
                                    <NodeId, ICollection <string> > m2)
 {
     NUnit.Framework.Assert.AreEqual(m1.Count, m2.Count);
     foreach (NodeId k in m1.Keys)
     {
         NUnit.Framework.Assert.IsTrue(m2.Contains(k));
         AssertCollectionEquals(m1[k], m2[k]);
     }
 }
 public static void AssertLabelsToNodesEquals(IDictionary <string, ICollection <NodeId
                                                                                > > m1, ImmutableMap <string, ICollection <NodeId> > m2)
 {
     NUnit.Framework.Assert.AreEqual(m1.Count, m2.Count);
     foreach (string k in m1.Keys)
     {
         NUnit.Framework.Assert.IsTrue(m2.Contains(k));
         ICollection <NodeId> s1 = new HashSet <NodeId>(m1[k]);
         ICollection <NodeId> s2 = new HashSet <NodeId>(m2[k]);
         NUnit.Framework.Assert.AreEqual(s1, s2);
         NUnit.Framework.Assert.IsTrue(s1.ContainsAll(s2));
     }
 }