Пример #1
0
        public void TestClone_WithNodaCultureInfo()
        {
            NodaCultureInfo culture = NodaCultureInfo.InvariantCulture;
            NodaFormatInfo formatInfo = new NodaFormatInfo(culture);

            NodaFormatInfo clone = formatInfo.Clone();
            Assert.AreNotSame(clone, formatInfo);
            Assert.AreNotSame(clone.CultureInfo, formatInfo.CultureInfo);
            Assert.AreSame(((NodaCultureInfo)clone.CultureInfo).NodaFormatInfo, clone);
        }
Пример #2
0
 public void TestNodaFormatInfo_set()
 {
     var info = new NodaCultureInfo("en-US");
     var original = info.NodaFormatInfo;
     Assert.NotNull(original);
     var newFormat = new NodaFormatInfo(Thread.CurrentThread.CurrentCulture);
     Assert.AreNotSame(original, newFormat);
     info.NodaFormatInfo = newFormat;
     Assert.AreSame(newFormat, info.NodaFormatInfo);
 }
Пример #3
0
 public void TestConstructor()
 {
     var info = new NodaFormatInfo(enUs);
     Assert.AreSame(enUs, info.CultureInfo);
     Assert.NotNull(info.DateTimeFormat);
     Assert.AreEqual(":", info.TimeSeparator);
     Assert.AreEqual("/", info.DateSeparator);
     Assert.IsInstanceOf<string>(info.OffsetPatternLong);
     Assert.IsInstanceOf<string>(info.OffsetPatternMedium);
     Assert.IsInstanceOf<string>(info.OffsetPatternShort);
     Assert.AreEqual("NodaFormatInfo[en-US]", info.ToString());
 }
Пример #4
0
 public void TestConstructor()
 {
     var info = new NodaFormatInfo(enUs);
     Assert.AreSame(enUs, info.CultureInfo);
     Assert.NotNull(info.NumberFormat);
     Assert.NotNull(info.DateTimeFormat);
     Assert.AreEqual(".", info.DecimalSeparator);
     Assert.AreEqual("+", info.PositiveSign);
     Assert.AreEqual("-", info.NegativeSign);
     Assert.AreEqual(":", info.TimeSeparator);
     Assert.AreEqual("/", info.DateSeparator);
     Assert.IsFalse(info.IsReadOnly);
     Assert.IsInstanceOf<string>(info.OffsetPatternFull);
     Assert.IsInstanceOf<string>(info.OffsetPatternLong);
     Assert.IsInstanceOf<string>(info.OffsetPatternMedium);
     Assert.IsInstanceOf<string>(info.OffsetPatternShort);
     Assert.AreEqual("NodaFormatInfo[en-US]", info.ToString());
 }
Пример #5
0
        public void TestSetFormatInfo()
        {
            NodaFormatInfo.ClearCache();

            var info1 = NodaFormatInfo.GetFormatInfo(enUs);
            Assert.NotNull(info1);
            Assert.IsTrue(info1.IsReadOnly);

            var info2 = new NodaFormatInfo(enGb);
            Assert.IsFalse(info2.IsReadOnly);
            NodaFormatInfo.SetFormatInfo(enUs, info2);
            Assert.IsTrue(info2.IsReadOnly);

            var info3 = NodaFormatInfo.GetFormatInfo(enUs);
            Assert.NotNull(info3);
            Assert.IsTrue(info3.IsReadOnly);
            Assert.AreSame(info2, info3);
            Assert.AreNotSame(info1, info3);

            NodaFormatInfo.SetFormatInfo(enUs, null);
            var info4 = NodaFormatInfo.GetFormatInfo(enUs);
            Assert.NotNull(info4);
            Assert.IsTrue(info4.IsReadOnly);
            Assert.AreNotSame(info1, info4);
            Assert.AreSame(info1.CultureInfo, info4.CultureInfo);
        }
Пример #6
0
 public void TestOffsetPatternShort()
 {
     const string pattern = "This is a test";
     var info = new NodaFormatInfo(enUs);
     Assert.AreNotEqual(pattern, info.OffsetPatternShort);
     info.OffsetPatternShort = pattern;
     Assert.AreEqual(pattern, info.OffsetPatternShort);
     Assert.Throws<ArgumentNullException>(() => info.OffsetPatternShort = null);
     info.IsReadOnly = true;
     Assert.Throws<InvalidOperationException>(() => info.OffsetPatternShort = "abc");
 }
Пример #7
0
 public void TestNumberFormat()
 {
     var format = NumberFormatInfo.InvariantInfo;
     var info = new NodaFormatInfo(enUs);
     Assert.AreNotEqual(format, info.NumberFormat);
     info.NumberFormat = format;
     Assert.AreEqual(format, info.NumberFormat);
     Assert.Throws<ArgumentNullException>(() => info.NumberFormat = null);
     info.IsReadOnly = true;
     Assert.Throws<InvalidOperationException>(() => info.NumberFormat = format);
 }
Пример #8
0
 public void TestIsReadOnly()
 {
     var info = new NodaFormatInfo(enUs);
     Assert.IsFalse(info.IsReadOnly);
     info.IsReadOnly = false;
     Assert.IsFalse(info.IsReadOnly);
     info.IsReadOnly = false;
     Assert.IsFalse(info.IsReadOnly);
     info.IsReadOnly = true;
     Assert.IsTrue(info.IsReadOnly);
     info.IsReadOnly = true;
     Assert.IsTrue(info.IsReadOnly);
     Assert.Throws<InvalidOperationException>(() => info.IsReadOnly = false);
 }
Пример #9
0
 public void TestGetInstance_NodaFormatInfo()
 {
     NodaFormatInfo.ClearCache();
     using (CultureSaver.SetCultures(enUs, FailingCultureInfo.Instance))
     {
         var info = new NodaFormatInfo(enGb);
         var actual = NodaFormatInfo.GetInstance(info);
         Assert.AreSame(info, actual);
     }
 }
Пример #10
0
        public void TestGetFormat()
        {
            using (CultureSaver.SetCultures(enGb, FailingCultureInfo.Instance))
            {
                var info = new NodaFormatInfo(enUs);
                Assert.AreSame(info, info.GetFormat(typeof(NodaFormatInfo)));

                var actualNfi = info.GetFormat(typeof(NumberFormatInfo));
                Assert.AreSame(enUs.NumberFormat, actualNfi);
                Assert.AreNotSame(Thread.CurrentThread.CurrentCulture.NumberFormat, actualNfi);

                var actualDtfi = info.GetFormat(typeof(DateTimeFormatInfo));
                Assert.AreSame(enUs.DateTimeFormat, actualDtfi);
                Assert.AreNotSame(Thread.CurrentThread.CurrentCulture.DateTimeFormat, actualDtfi);
            }
        }
Пример #11
0
 public void TestConstructor_null()
 {
     var info = new NodaFormatInfo(null);
     Assert.AreEqual(Thread.CurrentThread.CurrentCulture.Name, info.CultureInfo.Name);
 }
Пример #12
0
 public void TestDateTimeFormat()
 {
     var format = DateTimeFormatInfo.InvariantInfo;
     var info = new NodaFormatInfo(enUs);
     Assert.AreNotEqual(format, info.DateTimeFormat);
 }
Пример #13
0
 public void TestOffsetPatternShort()
 {
     const string pattern = "This is a test";
     var info = new NodaFormatInfo(enUs);
     Assert.AreNotEqual(pattern, info.OffsetPatternShort);
 }
Пример #14
0
 public void TestNumberFormat()
 {
     var format = NumberFormatInfo.InvariantInfo;
     var info = new NodaFormatInfo(enUs);
     Assert.AreNotEqual(format, info.NumberFormat);
 }
Пример #15
0
 internal NodaCultureInfo Clone(NodaFormatInfo formatInfo)
 {
     var info = (NodaCultureInfo)base.Clone();
     info.formatInfo = formatInfo;
     return info;
 }