public void Add_SameKey_ThrowsArgumentException() { var dic = ProjectionKeyDictionary <Foo> .Create(f => new { f.Bar, f.Baz }); dic.Add(new Foo { Bar = "abc", Baz = 2 }); dic.Add(new Foo { Bar = "abc", Baz = 2 }); }
public void Add_DifferentKeys_AddsAll() { var dic = ProjectionKeyDictionary <Foo> .Create(f => new { f.Bar, f.Baz }); dic.Add(new Foo { Bar = "abc", Baz = 2 }); dic.Add(new Foo { Bar = "abc", Baz = 3 }); Assert.AreEqual(2, dic.Count); Assert.IsTrue(dic.ContainsKey(new { Bar = "abc", Baz = 3 })); Assert.IsFalse(dic.ContainsKey(new Foo { Bar = "xyz", Baz = 3 })); }