public void Extensionが正常に動作すること() { var set = new HappySet <TestClass>(); var first = set.FirstOrDefault(new TestClass("hoge")); Assert.AreEqual("hoge", first.Hoge); first = set.FirstOrDefault(() => new TestClass("huge")); Assert.AreEqual("huge", first.Hoge); set.Add(new TestClass("a")); first = set.FirstOrDefault(new TestClass("hoge")); Assert.AreEqual("a", first.Hoge); first = set.FirstOrDefault(() => new TestClass("huge")); Assert.AreEqual("a", first.Hoge); }