+
+ [Test]
+ public void ToLookupNullKeyTest ()
+ {
+ string[] strs = new string[] { "one", null, "two", null, "three" };
+
+ int i = 0;
+ var l = strs.ToLookup (s => (s == null) ? null : "numbers", s => (s == null) ? (++i).ToString() : s);
+
+ Assert.AreEqual (2, l.Count);
+ Assert.AreEqual (2, l [null].Count());
+ Assert.IsTrue (l [null].Contains ("1"));
+ Assert.IsTrue (l [null].Contains ("2"));
+
+ Assert.AreEqual (3, l ["numbers"].Count());
+ Assert.IsTrue (l ["numbers"].Contains ("one"));
+ Assert.IsTrue (l ["numbers"].Contains ("two"));
+ Assert.IsTrue (l ["numbers"].Contains ("three"));
+ }