public void TestCanFitInDouble()
{
Assert.IsTrue(CBORObject.FromObject(0).CanFitInDouble());
Assert.IsFalse(CBORObject.True.CanFitInDouble());
Assert.IsFalse(CBORObject.FromObject(String.Empty).CanFitInDouble());
Assert.IsFalse(CBORObject.NewArray().CanFitInDouble());
Assert.IsFalse(CBORObject.NewMap().CanFitInDouble());
Assert.IsFalse(CBORObject.False.CanFitInDouble());
Assert.IsFalse(CBORObject.Null.CanFitInDouble());
Assert.IsFalse(CBORObject.Undefined.CanFitInDouble());
CBORObject numbers = GetNumberData();
for (int i = 0; i < numbers.Count; ++i) {
CBORObject numberinfo = numbers[i];
CBORObject cbornumber =
CBORObject.FromObject(EDecimal.FromString(
numberinfo["number"].AsString()));
if (numberinfo["double"].AsBoolean()) {
Assert.IsTrue(cbornumber.CanFitInDouble());
} else {
Assert.IsFalse(cbornumber.CanFitInDouble());
}
}
var rand = new RandomGenerator();
for (var i = 0; i < 2047; ++i) {
// Try a random double with a given
// exponent
Assert.IsTrue(
CBORObject.FromObject(
RandomObjects.RandomDouble(
rand,
i)).CanFitInDouble());
}
}