public void DecimalTest()
        {
            // TODO: Expand the test (precision: 1-38, scale: 0-28)
            const decimal d18_9 = 304861306.000000000m;
            const decimal d18_0 = 720020000000000000m;

            using (var session = Domain.OpenSession()) {
                Key key;
                using (var transactionScope = session.OpenTransaction()) {
                    var container = new DecimalContainer()
                    {
                        d18_9 = d18_9,
                        d18_0 = d18_0
                    };
                    key = container.Key;
                    transactionScope.Complete();
                }
                using (var transactionScope = session.OpenTransaction()) {
                    var container = session.Query.Single <DecimalContainer>(key);
                    Assert.AreEqual(d18_9, container.d18_9);
                    Assert.AreEqual(d18_0, container.d18_0);
                    transactionScope.Complete();
                }
            }
        }
Exemplo n.º 2
0
        public override void TestFixtureSetUp()
        {
            base.TestFixtureSetUp();
            CreateSessionAndTransaction();

            var testValues = new[] {
                1.3m, 1.5m, 1.6m,
                2.3m, 2.5m, 2.6m,
                -1.3m, -1.5m, -1.6m,
                -2.3m, -2.5m, -2.6m,
                10.1m, 10.5m, 11.0m,
                20.1m, 20.5m, 21.0m,
                -10.1m, -10.5m, -11.0m,
                -20.1m, -20.5m, -21.0m,

                0.13m, 0.15m, 0.16m,
                0.23m, 0.25m, 0.26m,
                -.13m, -.15m, -.16m,
                -.23m, -.25m, -.26m,
                1.01m, 1.05m, 1.10m,
                2.01m, 2.05m, 2.10m,
                -1.01m, -1.05m, -1.10m,
                -2.01m, -2.05m, -2.10m,

                0.1343m, 0.1524m, 0.1648m,
                0.2324m, 0.2514m, 0.2659m,
                -.1341m, -.1537m, -.1682m,
                -.2332m, -.2541m, -.2612m,
                1.0101m, 1.05752m, 1.10365m,
                2.0185m, 2.0521m, 2.1075m,
                -1.0131m, -1.0584m, -1.1022m,
                -2.0196m, -2.0537m, -2.1063m,

                274486.3m, 274486.5m, 274486.6m,
                -274486.3m, -274486.5m, -274486.6m,
                72244.3m, 72244.5m, 72244.6m,
                -72244.3m, -72244.5m, -72244.6m
            };

            foreach (var value in testValues)
            {
                _ = new DoubleContainer {
                    FDouble = (double)value
                };
                _ = new DecimalContainer {
                    d18_9 = value
                };
                //_ = new X { FDouble = (double) value, FDecimal = value };
            }
        }
        public void FloatParseHandlingDecimal()
        {
            decimal d = (decimal)Math.PI + 1000000000m;
            var x = new DecimalContainer { Number = d };

            var json = JsonConvert.SerializeObject(x, Formatting.Indented);

            XDocument doc1 = JsonConvert.DeserializeObject<XDocument>(json, new JsonSerializerSettings
            {
                Converters = { new XmlNodeConverter() },
                FloatParseHandling = FloatParseHandling.Decimal
            });

            var xml = doc1.ToString();
            Assert.AreEqual("<Number>1000000003.14159265358979</Number>", xml);

            string json2 = JsonConvert.SerializeObject(doc1, Formatting.Indented);

            DecimalContainer x2 = JsonConvert.DeserializeObject<DecimalContainer>(json2);

            Assert.AreEqual(x.Number, x2.Number);
        }