public void ShouldAssignNumbersToNM() { var stringNumber = new DataTypes.NM_Number("21"); var intNumber = new DataTypes.NM_Number(212); var int64Number = new DataTypes.NM_Number((Int64)2100000000003); var floatNumber = new DataTypes.NM_Number(21.4); var doubleNumber = new DataTypes.NM_Number(21.0000000005D); var decimalNumber = new DataTypes.NM_Number(21.6666M); Assert.True(stringNumber.IsNumber); Assert.True(intNumber.IsNumber); Assert.True(int64Number.IsNumber); Assert.True(floatNumber.IsNumber); Assert.True(doubleNumber.IsNumber); Assert.True(decimalNumber.IsNumber); Assert.Equal(212, intNumber.AsInteger()); Assert.Equal(2100000000003, int64Number.AsInt64()); Assert.True(floatNumber.AsFloat() - 21.4 < 0.01); Assert.Equal(212, intNumber.AsFloat()); Assert.Equal(21.0000000005D, doubleNumber.AsDouble()); Assert.Equal(21.6666M, decimalNumber.AsDecimal()); Assert.Equal(212, intNumber.AsInt64()); Assert.Equal(21, stringNumber.AsInteger()); Assert.Equal(21, stringNumber.AsInt64()); Assert.Equal(21.0, stringNumber.AsFloat()); Assert.Equal(21.0D, stringNumber.AsDouble()); Assert.Equal(21.0M, stringNumber.AsDecimal()); Assert.Equal(int.MinValue, decimalNumber.AsInteger()); }
public void ShouldExtractNumbersFromNM() { HL7Message mesg = OBX3; var obx = mesg.Element("OBX[1]"); var valueElement = obx.IndexedElement(5); DataTypes.NM_Number number = valueElement; Assert.True(number.IsNumber); Assert.Equal(59, (int)number); Assert.Equal((Int64)59, number.AsInt64()); Assert.Equal((float)59, number.AsFloat()); Assert.Equal(59M, number.AsDecimal()); Assert.Equal(59.0D, (double)number); }