void do_test_e (SortedSet<int> s1, IEnumerable<int> s2, bool o, bool se = false, bool psb = false, bool psu = false) { bool sb = false, su = false; if (se) sb = su = true; if (psb) sb = true; if (psu) su = true; Assert.IsTrue (!su || !psb); Assert.IsTrue (!sb || !psu); // actual tests Assert.AreEqual (o, s1.Overlaps (s2)); Assert.AreEqual (se, s1.SetEquals (s2)); Assert.AreEqual (sb, s1.IsSubsetOf (s2)); Assert.AreEqual (su, s1.IsSupersetOf (s2)); Assert.AreEqual (psb, s1.IsProperSubsetOf (s2)); Assert.AreEqual (psu, s1.IsProperSupersetOf (s2)); }