Пример #1
0
        public void EqualityEnumTypeTest()
        {
            var baseline = new EdmEnumType("NS", "Baseline", EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Int32), true);
            var match = new EdmEnumType("NS", "Baseline", EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Int32), true);
            var differentNamespace = new EdmEnumType("foo", "Baseline", EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Int32), true);
            var differentName = new EdmEnumType("NS", "foo", EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Int32), true);
            var differentPrimitiveType = new EdmEnumType("NS", "Baseline", EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Int16), true);
            var differentFlag = new EdmEnumType("NS", "Baseline", EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Int32), false);

            this.VerifyThrowsException(typeof(ArgumentNullException), () => new EdmEnumType(null, "Baseline", EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Int32), true));
            this.VerifyThrowsException(typeof(ArgumentNullException), () => new EdmEnumType("NS", null, EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Int32), true));
            this.VerifyThrowsException(typeof(ArgumentNullException), () => new EdmEnumType("NS", "Baseline", null, true));

            Assert.IsTrue(baseline.IsEquivalentTo(baseline), "Is the same.");
            Assert.IsFalse(baseline.IsEquivalentTo(match), "Same but different obj refs");
            Assert.IsFalse(baseline.IsEquivalentTo(differentNamespace), "Different namespace.");
            Assert.IsFalse(baseline.IsEquivalentTo(differentName), "Different name.");
            Assert.IsFalse(baseline.IsEquivalentTo(differentPrimitiveType), "Different primitive type.");
            Assert.IsFalse(baseline.IsEquivalentTo(differentFlag), "Different flag.");
        }