예제 #1
0
        public void QShortTest1()
        {
            qshort qs = new qshort("4.8", 0.5);
            Assert.AreEqual(4, qs.IntegerBitCount);
            Assert.AreEqual(8, qs.FractionalBitCount);
            Assert.AreEqual(0.5, qs.Value);
            Assert.AreEqual(128, qs.RawValue);

            qs.Value = -9.375;
            Assert.AreEqual(-9.375, qs.Value);
            Assert.AreEqual(5792, qs.RawValue);

            qs.Value = -20; //Truncation, should be (-20) - (-16) = (-4)
            Assert.IsTrue(qs.Value < 0);

            qs.Value = 0.50000001;
            Assert.AreEqual(0.5, qs.Value);
        }
예제 #2
0
 public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
 {
     if (destinationType == typeof(string) && value.GetType() == typeof(qshort))
     {
         QShort = (qshort)value;
         return QShort.Value.ToString();
     }
     else
     {
         return base.ConvertTo(context, culture, value, destinationType);
     }
 }