public void EqualityComplexTypeTest() { var simpleBaselineComplexType = new EdmComplexType("NS", "Baseline"); var simpleMatchComplexType = new EdmComplexType("NS", "Baseline"); var simpleDifferentNameComplexType = new EdmComplexType("NS", "Different"); var simpleDifferentNamespaceComplexType = new EdmComplexType("Foo", "Base"); this.VerifyThrowsException(typeof(ArgumentNullException), () => new EdmComplexType(null, "Baseline")); this.VerifyThrowsException(typeof(ArgumentNullException), () => new EdmComplexType("NS", null)); Assert.IsTrue(simpleBaselineComplexType.IsEquivalentTo(simpleBaselineComplexType), "Is the same."); Assert.IsFalse(simpleBaselineComplexType.IsEquivalentTo(simpleMatchComplexType), "Is the same, but different obj refs."); Assert.IsFalse(simpleBaselineComplexType.IsEquivalentTo(simpleDifferentNameComplexType), "Different name simple complex type."); Assert.IsFalse(simpleBaselineComplexType.IsEquivalentTo(simpleDifferentNamespaceComplexType), "Different namespace for simple complex type."); var baselineBaseComplexType = new EdmComplexType("NS", "Base"); var fooBaseComplexType = new EdmComplexType("NS", "Foo"); var baselineComplexType = new EdmComplexType("NS", "Baseline", baselineBaseComplexType, false); var matchComplexType = new EdmComplexType("NS", "Baseline", baselineBaseComplexType, false); var differentBaseComplexType = new EdmComplexType("NS", "Baseline", fooBaseComplexType, false); var nullBaseTypeComplexType = new EdmComplexType("NS", "Baseline", null, false); var differentAbstractComplexType = new EdmComplexType("NS", "Baseline", baselineBaseComplexType, true); Assert.IsTrue(baselineComplexType.IsEquivalentTo(baselineComplexType), "Is the same."); Assert.IsFalse(baselineComplexType.IsEquivalentTo(matchComplexType), "Is the same, but different obj refs."); Assert.IsFalse(baselineComplexType.IsEquivalentTo(differentBaseComplexType), "Different base type."); Assert.IsFalse(baselineComplexType.IsEquivalentTo(nullBaseTypeComplexType), "Null base type."); Assert.IsFalse(baselineComplexType.IsEquivalentTo(differentAbstractComplexType), "Different abstract type."); }