Exemplo n.º 1
0
        public void PrimitiveIsXXXMethods()
        {
            IEdmPrimitiveTypeReference binaryRef = new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Binary), false);
            IEdmPrimitiveTypeReference booleanRef = new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Boolean), false);
            IEdmPrimitiveTypeReference byteRef = new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Byte), false);
            IEdmPrimitiveTypeReference dateTimeOffsetRef = new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.DateTimeOffset), false);
            IEdmPrimitiveTypeReference decimalRef = new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Decimal), false);
            IEdmPrimitiveTypeReference doubleRef = new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Double), false);
            IEdmPrimitiveTypeReference guidRef = new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Guid), false);
            IEdmPrimitiveTypeReference int16Ref = new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Int16), false);
            IEdmPrimitiveTypeReference int32Ref = new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Int32), false);
            IEdmPrimitiveTypeReference int64Ref = new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Int64), false);
            IEdmPrimitiveTypeReference sByteRef = new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.SByte), false);
            IEdmPrimitiveTypeReference singleRef = new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Single), false);
            IEdmPrimitiveTypeReference stringRef = new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.String), false);
            IEdmPrimitiveTypeReference streamRef = new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Stream), false);
            IEdmPrimitiveTypeReference timeRef = new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Duration), false);
            IEdmPrimitiveTypeReference dateRef = new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Date), false);
            IEdmPrimitiveTypeReference timeOfDayRef = new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.TimeOfDay), false);

            Assert.IsTrue(binaryRef.IsPrimitive(), "Binary is Primitive");
            Assert.IsTrue(binaryRef.IsBinary(), "Binary is Binary");
            Assert.IsTrue(booleanRef.IsBoolean(), "Boolean is Boolean");
            Assert.IsTrue(byteRef.IsByte(), "Byte is Byte");
            Assert.IsTrue(dateTimeOffsetRef.IsDateTimeOffset(), "DateTimeOffset is DateTimeOffset");
            Assert.IsTrue(decimalRef.IsDecimal(), "Decimal is Decimal");
            Assert.IsTrue(doubleRef.IsDouble(), "Double is Double");
            Assert.IsTrue(guidRef.IsGuid(), "Guid is Guid");
            Assert.IsTrue(int16Ref.IsInt16(), "Int16 is Int16");
            Assert.IsTrue(int32Ref.IsInt32(), "Int32 is Int32");
            Assert.IsTrue(int64Ref.IsInt64(), "Int64 is Int64");
            Assert.IsTrue(sByteRef.IsSByte(), "SByte is SByte");
            Assert.IsTrue(singleRef.IsSingle(), "Single is Single");
            Assert.IsTrue(stringRef.IsString(), "String is String");
            Assert.IsTrue(streamRef.IsStream(), "Stream is Stream");
            Assert.IsTrue(timeRef.IsDuration(), "Duration is Duration");
            Assert.IsTrue(dateRef.IsDate(), "Date is Date");
            Assert.IsTrue(timeOfDayRef.IsTimeOfDay(), "TimeOfDay is TimeOfDay");

            Assert.IsTrue(binaryRef.AsPrimitive().IsPrimitive(), "Binary as primitive is Primitive");
            Assert.IsTrue(binaryRef.AsPrimitive().IsBinary(), "Binary as primitive is Binary");
            Assert.IsTrue(booleanRef.AsPrimitive().IsBoolean(), "Boolean as primitive is Boolean");
            Assert.IsTrue(byteRef.AsPrimitive().IsByte(), "Byte as primitive is Byte");
            Assert.IsTrue(dateTimeOffsetRef.AsPrimitive().IsDateTimeOffset(), "DateTimeOffset as primitive is DateTimeOffset");
            Assert.IsTrue(decimalRef.AsPrimitive().IsDecimal(), "Decimal as primitive is Decimal");
            Assert.IsTrue(doubleRef.AsPrimitive().IsDouble(), "Double as primitive is Double");
            Assert.IsTrue(guidRef.AsPrimitive().IsGuid(), "Guid as primitive is Guid");
            Assert.IsTrue(int16Ref.AsPrimitive().IsInt16(), "Int16 as primitive is Int16");
            Assert.IsTrue(int32Ref.AsPrimitive().IsInt32(), "Int32 as primitive is Int32");
            Assert.IsTrue(int64Ref.AsPrimitive().IsInt64(), "Int64 as primitive is Int64");
            Assert.IsTrue(sByteRef.AsPrimitive().IsSByte(), "SByte as primitive is SByte");
            Assert.IsTrue(singleRef.AsPrimitive().IsSingle(), "Single as primitive is Single");
            Assert.IsTrue(stringRef.AsPrimitive().IsString(), "String as primitive is String");
            Assert.IsTrue(streamRef.AsPrimitive().IsStream(), "Stream as primitive is Stream");
            Assert.IsTrue(timeRef.AsPrimitive().IsDuration(), "Duration as primitive is Duration");
            Assert.IsTrue(dateRef.AsPrimitive().IsDate(), "Date as primitive is Date");
            Assert.IsTrue(timeOfDayRef.AsPrimitive().IsTimeOfDay(), "TimeOfDay as primitive is TimeOfDay");

            Assert.IsTrue(dateTimeOffsetRef.IsTemporal(), "DateTimeOffset is Temporal");
            Assert.IsTrue(timeRef.IsTemporal(), "Duration is Temporal");
            Assert.IsTrue(timeOfDayRef.IsTemporal(), "TimeOfDay is Temporal");
            Assert.IsFalse(int32Ref.IsTemporal(), "Int is not Temporal");

            Assert.IsTrue(doubleRef.IsFloating(), "Double is floating");
            Assert.IsTrue(singleRef.IsFloating(), "Single is floating");
            Assert.IsFalse(int32Ref.IsFloating(), "Int is not floating");

            Assert.IsTrue(sByteRef.IsSignedIntegral(), "SByte is signed integral");
            Assert.IsTrue(int16Ref.IsSignedIntegral(), "Int16 is signed integral");
            Assert.IsTrue(int32Ref.IsSignedIntegral(), "Int32 is signed integral");
            Assert.IsTrue(int64Ref.IsSignedIntegral(), "Int64 is signed integral");
            Assert.IsFalse(stringRef.IsSignedIntegral(), "String is not signed integral");

            IEdmEntityType entityDef = new EdmEntityType("MyNamespace", "MyEntity");
            IEdmEntityTypeReference entityRef = new EdmEntityTypeReference(entityDef, false);
            Assert.AreEqual(EdmPrimitiveTypeKind.None, entityRef.PrimitiveKind(), "Non-Primitive Type has primitivetypekind of none");
            Assert.AreEqual(EdmSchemaElementKind.TypeDefinition, int16Ref.PrimitiveDefinition().SchemaElementKind,"SchemaElementKind of primitive type is correct.");
        }