Пример #1
0
        public void ChangeType_Numerics()
        {
            var ics = new DeepConvertSettings
            {
                Provider = CultureInfo.InvariantCulture,
                Format   = "0.00"
            };
            var decs = new DeepConvertSettings
            {
                Provider = CultureInfo.GetCultureInfo("de-DE"),
                Format   = "0.00"
            };

            Assert.AreEqual(20, DeepConvert.ChangeType <byte>(20));
            Assert.AreEqual("20", DeepConvert.ChangeType <string>(20.0));
            Assert.AreEqual("20.00", DeepConvert.ChangeType <string>(20.0, ics));
            Assert.AreEqual("20,00", DeepConvert.ChangeType <string>(20.0, decs));
            Assert.AreEqual(false, DeepConvert.ChangeType <bool>(0));
            Assert.AreEqual(true, DeepConvert.ChangeType <bool>(20));
            Assert.AreEqual(false, DeepConvert.ChangeType <bool>(0.0));
            Assert.AreEqual(true, DeepConvert.ChangeType <bool>(20.0));
            Assert.AreEqual(1, DeepConvert.ChangeType <byte>(true));
            Assert.AreEqual(100, DeepConvert.ChangeType <float>(100));
            Assert.AreEqual(100, DeepConvert.ChangeType <float>("100"));
            Assert.AreEqual(100, DeepConvert.ChangeType <float>("100.0", ics));
            Assert.AreEqual(100, DeepConvert.ChangeType <double>("100"));
            Assert.AreEqual(100, DeepConvert.ChangeType <double>("100.0", ics));
            Assert.AreEqual(100, DeepConvert.ChangeType <decimal>("100"));
            Assert.AreEqual(100, DeepConvert.ChangeType <decimal>("100.0", ics));
            Assert.AreEqual(100, DeepConvert.ChangeTypeInvariant <decimal>("100.0"));
            Assert.AreEqual(100, DeepConvert.ChangeTypeInvariant <decimal>("100.0", decs));
        }