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); }
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); } }