public void Intersect() { var a = ElementNode.ForPrimitive("A"); var b1 = ElementNode.ForPrimitive("B"); var c = ElementNode.ForPrimitive("C"); var b2 = ElementNode.ForPrimitive("B"); var col1 = new ITypedElement[] { a, b1 }; var col2 = new ITypedElement[] { c, b2 }; var col3 = new ITypedElement[] { c }; var result = col1.Intersect(col2); Assert.IsNotNull(result); Assert.AreEqual("B", result.First().Value); result = col2.Intersect(col1); Assert.IsNotNull(result); Assert.AreEqual("B", result.First().Value); result = col1.Intersect(col3); Assert.IsNotNull(result); Assert.IsFalse(result.Any()); }