示例#1
0
        public void Integer_Create()
        {
            var obj = DataObject.Integer(33);

            Assert.IsNotNull(obj);
            Assert.IsInstanceOf <NumericType>(obj.Type);
            Assert.AreEqual(SqlTypeCode.Integer, obj.Type.TypeCode);
            Assert.AreEqual(33, obj);
        }
示例#2
0
        public void Integer_Convert_ToDouble()
        {
            var obj = DataObject.Integer(33);

            Assert.IsNotNull(obj);
            Assert.IsInstanceOf <NumericType>(obj.Type);
            Assert.AreEqual(SqlTypeCode.Integer, obj.Type.TypeCode);
            Assert.AreEqual(33, obj);

            DataObject result = null;

            Assert.DoesNotThrow(() => result = obj.CastTo(PrimitiveTypes.Numeric(SqlTypeCode.Double)));
            Assert.IsNotNull(result);
            Assert.IsInstanceOf <NumericType>(result.Type);
            Assert.AreEqual(SqlTypeCode.Double, result.Type.TypeCode);
        }
示例#3
0
        public void Integer_Convert_ToBoolean()
        {
            var obj = DataObject.Integer(1);

            Assert.IsNotNull(obj);
            Assert.IsInstanceOf <NumericType>(obj.Type);
            Assert.AreEqual(SqlTypeCode.Integer, obj.Type.TypeCode);
            Assert.AreEqual(1, obj);

            DataObject result = null;

            Assert.DoesNotThrow(() => result = obj.AsBoolean());
            Assert.IsNotNull(result);
            Assert.IsInstanceOf <BooleanType>(result.Type);
            Assert.IsTrue((SqlBoolean)result.Value);
        }
示例#4
0
        public void Integer_Convert_ToVarChar()
        {
            var obj = DataObject.Integer(33);

            Assert.IsNotNull(obj);
            Assert.IsInstanceOf <NumericType>(obj.Type);
            Assert.AreEqual(SqlTypeCode.Integer, obj.Type.TypeCode);
            Assert.AreEqual(33, obj);

            DataObject result = null;

            Assert.DoesNotThrow(() => result = obj.AsVarChar());
            Assert.IsNotNull(result);
            Assert.IsInstanceOf <StringType>(result.Type);
            Assert.AreEqual("33", ((SqlString)result.Value).Value);
        }
示例#5
0
        public void Integer_Compare_NotEqual()
        {
            var obj1 = DataObject.Integer(33);
            var obj2 = DataObject.Integer(87);

            Assert.IsNotNull(obj1);
            Assert.IsNotNull(obj2);

            Assert.IsInstanceOf <NumericType>(obj1.Type);
            Assert.IsInstanceOf <NumericType>(obj2.Type);

            Assert.AreEqual(SqlTypeCode.Integer, obj1.Type.TypeCode);
            Assert.AreEqual(SqlTypeCode.Integer, obj2.Type.TypeCode);

            Assert.IsTrue(obj1.IsComparableTo(obj2));
            Assert.AreEqual(-1, obj1.CompareTo(obj2));
        }
示例#6
0
            public override DataObject GetValue(long rowNumber, int columnOffset)
            {
                if (rowNumber < 0 || rowNumber >= privBits.Count)
                {
                    throw new ArgumentOutOfRangeException("rowNumber");
                }

                var pair = privBits[(int)rowNumber];

                switch (columnOffset)
                {
                case 0:
                    return(DataObject.Integer(pair.Value));

                case 1:
                    return(DataObject.VarChar(pair.Key));

                default:
                    throw new ArgumentOutOfRangeException("columnOffset");
                }
            }