📄 stringstest.cs
字号:
[Test] public void Format_Numeric_UserDefined1() { Assert.AreEqual("5",Strings.Format(5, "")); Assert.AreEqual("-5",Strings.Format(-5, "")); Assert.AreEqual("0.5",Strings.Format(0.5, "")); Assert.AreEqual("5",Strings.Format(5, "0")); Assert.AreEqual("-5",Strings.Format(-5, "0")); Assert.AreEqual("1",Strings.Format(0.5, "0")); Assert.AreEqual("5.00",Strings.Format(5, "0.00")); Assert.AreEqual("-5.00",Strings.Format(-5, "0.00")); Assert.AreEqual("0.50",Strings.Format(0.5, "0.00")); Assert.AreEqual("5",Strings.Format(5, "#,##0")); Assert.AreEqual("-5",Strings.Format(-5, "#,##0")); Assert.AreEqual("1",Strings.Format(0.5, "#,##0")); } [Test] public void Format_Numeric_UserDefined2() { Assert.AreEqual("$5",Strings.Format(5, "$#,##0;($#,##0)")); Assert.AreEqual("($5)",Strings.Format(-5, "$#,##0;($#,##0)")); Assert.AreEqual("$1",Strings.Format(0.5, "$#,##0;($#,##0)")); Assert.AreEqual("$5.00",Strings.Format(5, "$#,##0.00;($#,##0.00)")); Assert.AreEqual("($5.00)",Strings.Format(-5, "$#,##0.00;($#,##0.00)")); Assert.AreEqual("$0.50",Strings.Format(0.5, "$#,##0.00;($#,##0.00)")); Assert.AreEqual("500%",Strings.Format(5, "0%")); Assert.AreEqual("-500%",Strings.Format(-5, "0%")); Assert.AreEqual("50%",Strings.Format(0.5, "0%")); Assert.AreEqual("500.00%",Strings.Format(5, "0.00%")); Assert.AreEqual("-500.00%",Strings.Format(-5, "0.00%")); Assert.AreEqual("50.00%",Strings.Format(0.5, "0.00%")); Assert.AreEqual("5.00E+00",Strings.Format(5, "0.00E+00")); Assert.AreEqual("-5.00E+00",Strings.Format(-5, "0.00E+00")); Assert.AreEqual("5.00E-01",Strings.Format(0.5, "0.00E+00")); Assert.AreEqual("5.00E00",Strings.Format(5, "0.00E-00")); Assert.AreEqual("-5.00E00",Strings.Format(-5, "0.00E-00")); Assert.AreEqual("5.00E-01",Strings.Format(0.5, "0.00E-00")); } [Test] public void Format_Numeric_UserDefined3() { Assert.AreEqual("5",Strings.Format(5, null)); Assert.AreEqual("5",Strings.Format(5, String.Empty)); } [Test] public void Format_Date1() { DateTime d = new DateTime (2006, 6, 19, 14, 22, 35, 78); Assert.AreEqual("6/19/2006 2:22:35 PM",Strings.Format(d, "General Date")); Assert.AreEqual("6/19/2006 2:22:35 PM",Strings.Format(d, "G")); Assert.AreEqual("Monday, June 19, 2006",Strings.Format(d, "Long Date")); Assert.AreEqual("Monday, June 19, 2006",Strings.Format(d, "D")); Assert.AreEqual("Monday, June 19, 2006",Strings.Format(d, "Medium Date")); Assert.AreEqual("6/19/2006",Strings.Format(d, "Short Date")); Assert.AreEqual("6/19/2006",Strings.Format(d, "d")); Assert.AreEqual("2:22:35 PM",Strings.Format(d, "Long Time")); Assert.AreEqual("2:22:35 PM",Strings.Format(d, "T")); Assert.AreEqual("2:22:35 PM",Strings.Format(d, "Medium Time")); Assert.AreEqual("2:22 PM",Strings.Format(d, "Short Time")); Assert.AreEqual("2:22 PM",Strings.Format(d, "t")); Assert.AreEqual("Monday, June 19, 2006 2:22:35 PM",Strings.Format(d, "F")); Assert.AreEqual("Monday, June 19, 2006 2:22 PM",Strings.Format(d, "f")); Assert.AreEqual("6/19/2006 2:22 PM",Strings.Format(d, "g")); Assert.AreEqual("June 19",Strings.Format(d, "M")); Assert.AreEqual("June 19",Strings.Format(d, "m")); Assert.AreEqual("Mon, 19 Jun 2006 14:22:35 GMT",Strings.Format(d, "R")); Assert.AreEqual("Mon, 19 Jun 2006 14:22:35 GMT",Strings.Format(d, "r")); Assert.AreEqual("2006-06-19T14:22:35",Strings.Format(d, "s"));#if NET_2_0 && FIXME // FIXME - these scenario is timezone specific if (d.IsDaylightSavingTime ()) { Assert.AreEqual("Monday, June 19, 2006 11:22:35 AM", Strings.Format (d, "U")); } else { Assert.AreEqual("Monday, June 19, 2006 12:22:35 PM",Strings.Format(d, "U")); }#endif Assert.AreEqual("2006-06-19 14:22:35Z",Strings.Format(d, "u")); Assert.AreEqual("June, 2006",Strings.Format(d, "Y")); Assert.AreEqual("June, 2006",Strings.Format(d, "y")); Assert.IsTrue(Strings.Format(DateTime.Now, "D") == Strings.Format(DateTime.Now, "Long Date")); } [Test] public void Format_Date_UserDefined1() { DateTime d = new DateTime (2001,1,27,5,4,23,67); Assert.AreEqual("5:4:23",Strings.Format(d, "h:m:s")); Assert.AreEqual("05:04:23 AM",Strings.Format(d, "hh:mm:ss tt")); Assert.AreEqual("05:04:23",Strings.Format(d, "HH:mm:ss")); Assert.AreEqual("Saturday, January, 27, 2001",Strings.Format(d, "dddd, MMMM, d, yyyy")); Assert.AreEqual("Saturday, Jan, 27, 2001",Strings.Format(d, "dddd, MMM, d, yyyy")); Assert.AreEqual("Saturday, 01, 27, 2001",Strings.Format(d, "dddd, MM, d, yyyy")); } [Test] [Category("TargetJvmNotWorking")] public void Format_Date_UserDefined2() { DateTime d = new DateTime (2006, 6, 19, 14, 22, 35, 78); Assert.AreEqual("GeneralDaPe",Strings.Format(d, "GeneralDate")); Assert.AreEqual("LonA.D.DaPe",Strings.Format(d, "LongDate")); Assert.AreEqual("6e19iu22DaPe",Strings.Format(d, "MediumDate")); Assert.AreEqual("S2orPDaPe",Strings.Format(d, "ShortDate")); Assert.AreEqual("LonA.D.Ti22e",Strings.Format(d, "LongTime")); Assert.AreEqual("6e19iu22Ti22e",Strings.Format(d, "MediumTime")); Assert.AreEqual("S2orPTi22e",Strings.Format(d, "ShortTime")); } [Test] public void Format_Date_UserDefined3() { DateTime d = new DateTime (2006, 6, 19, 14, 22, 35, 78); Assert.AreEqual("-1",Strings.Format(d, "-1")); Assert.AreEqual("6/19/2006 2:22:35 PM",Strings.Format(d, null)); Assert.AreEqual("6/19/2006 2:22:35 PM",Strings.Format(d, String.Empty)); } [Test] public void Format_Null() { Assert.AreEqual(String.Empty,Strings.Format(null, "General Number")); Assert.AreEqual(String.Empty,Strings.Format(null, "G")); Assert.AreEqual(String.Empty,Strings.Format(null, "g")); Assert.AreEqual(String.Empty,Strings.Format(null, "Currency")); Assert.AreEqual(String.Empty,Strings.Format(null, "C")); Assert.AreEqual(String.Empty,Strings.Format(null, "c")); Assert.AreEqual(String.Empty,Strings.Format(null, "Fixed")); Assert.AreEqual(String.Empty,Strings.Format(null, "F")); Assert.AreEqual(String.Empty,Strings.Format(null, "f")); Assert.AreEqual(String.Empty,Strings.Format(null, "Standard")); Assert.AreEqual(String.Empty,Strings.Format(null, "N")); Assert.AreEqual(String.Empty,Strings.Format(null, "n")); Assert.AreEqual(String.Empty,Strings.Format(null, "Percent")); Assert.AreEqual(String.Empty,Strings.Format(null, "percent")); Assert.AreEqual(String.Empty,Strings.Format(null, "P")); Assert.AreEqual(String.Empty,Strings.Format(null, "P")); Assert.AreEqual(String.Empty,Strings.Format(null, "%")); Assert.AreEqual(String.Empty,Strings.Format(null, "Scientific")); Assert.AreEqual(String.Empty,Strings.Format(null, "E")); Assert.AreEqual(String.Empty,Strings.Format(null, "e")); Assert.AreEqual(String.Empty,Strings.Format(null, "X")); Assert.AreEqual(String.Empty,Strings.Format(null, "x")); Assert.AreEqual(String.Empty,Strings.Format(null, "Yes/No")); Assert.AreEqual(String.Empty,Strings.Format(null, "True/False")); Assert.AreEqual(String.Empty,Strings.Format(null, "On/Off")); Assert.AreEqual(String.Empty,Strings.Format(null, "ON/OFF")); Assert.AreEqual(String.Empty,Strings.Format(null, "General Date")); Assert.AreEqual(String.Empty,Strings.Format(null, "GeneralDate")); } #endregion #region FormatCurrency Tests //FIXME : test default parameter values [Test] public void FormatCurrency1() { Assert.AreEqual("($2,344.33)",Strings.FormatCurrency(-2344.33,-1,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("$234.430",Strings.FormatCurrency(234.43,3,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("$234.4",Strings.FormatCurrency(234.43,1,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); } [Test] public void FormatCurrency_TriState1() { Assert.AreEqual("($123.42)",Strings.FormatCurrency(-123.42,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("($123.42)",Strings.FormatCurrency(-123.42,2,TriState.False,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("($123.42)",Strings.FormatCurrency(-123.42,2,TriState.True,TriState.UseDefault,TriState.UseDefault)); } [Test] public void FormatCurrency_TriState2() { Assert.AreEqual("($123.42)",Strings.FormatCurrency(-123.42,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("-$123.42",Strings.FormatCurrency(-123.42,2,TriState.UseDefault,TriState.False,TriState.UseDefault)); Assert.AreEqual("($123.42)",Strings.FormatCurrency(-123.42,2,TriState.UseDefault,TriState.True,TriState.UseDefault)); } [Test] public void FormatCurrency_TriState3() { Assert.AreEqual("($123.42)",Strings.FormatCurrency(-123.42,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("($123.42)",Strings.FormatCurrency(-123.42,2,TriState.UseDefault,TriState.UseDefault,TriState.False)); Assert.AreEqual("($123.42)",Strings.FormatCurrency(-123.42,2,TriState.UseDefault,TriState.UseDefault,TriState.True)); } [Test] [ExpectedException(typeof(ArgumentException))] public void FormatCurrency2() { string s = Strings.FormatCurrency(-123.42,100,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault); } [Test] public void FormatCurrency3() { Assert.AreEqual("$234.430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",Strings.FormatCurrency(234.43,99,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); } [Test] [ExpectedException(typeof(InvalidCastException))] public void FormatCurrency4() { string s = Strings.FormatCurrency("abc",99,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault); } #endregion #region FormatDateTime Tests [Test] public void FormatDateTime_GeneralDate() { DateTime tmptime = new DateTime(1, 1, 1,1,1,1); DateTime tmptime1 = new DateTime(2000, 12, 5, 3, 23, 45, 5); //DateTime tmptime2 = new DateTime(DateTime.MaxValue); Assert.AreEqual("12/30/1215",Strings.FormatDateTime(DateTime.Parse("12/30/1215"),DateFormat.GeneralDate)); Assert.AreEqual("9/11/2038",Strings.FormatDateTime(DateTime.Parse("9/11/2038"),DateFormat.GeneralDate)); Assert.AreEqual("10/9/1001",Strings.FormatDateTime(DateTime.Parse("10/9/1001"),DateFormat.GeneralDate)); Assert.AreEqual("9/24/1918",Strings.FormatDateTime(DateTime.Parse("9/24/1918"),DateFormat.GeneralDate)); Assert.AreEqual("2/11/1946",Strings.FormatDateTime(DateTime.Parse("2/11/1946"),DateFormat.GeneralDate)); Assert.AreEqual("5/1/1980",Strings.FormatDateTime(DateTime.Parse("5/1/1980"),DateFormat.GeneralDate)); Assert.AreEqual("2/28/2001",Strings.FormatDateTime(DateTime.Parse("2/28/2001"),DateFormat.GeneralDate)); Assert.AreEqual("3/3/2003",Strings.FormatDateTime(DateTime.Parse("3/3/2003"),DateFormat.GeneralDate)); Assert.AreEqual("9/10/1972",Strings.FormatDateTime(DateTime.Parse("9/10/1972"),DateFormat.GeneralDate)); Assert.AreEqual("1/12/1487",Strings.FormatDateTime(DateTime.Parse("1/12/1487"),DateFormat.GeneralDate)); Assert.AreEqual("7/7/0100",Strings.FormatDateTime(DateTime.Parse("7/7/0100"),DateFormat.GeneralDate)); Assert.AreEqual("2/1/2022",Strings.FormatDateTime(DateTime.Parse("2/1/22"),DateFormat.GeneralDate)); Assert.AreEqual("6/6/0666",Strings.FormatDateTime(DateTime.Parse("6/6/0666"),DateFormat.GeneralDate)); Assert.AreEqual("1/1/2000",Strings.FormatDateTime(DateTime.Parse("1/1/2000"),DateFormat.GeneralDate)); Assert.AreEqual("12/31/2000",Strings.FormatDateTime(DateTime.Parse("12/31/2000"),DateFormat.GeneralDate)); Assert.AreEqual("5/5/1000",Strings.FormatDateTime(DateTime.Parse("5/5/1000"),DateFormat.GeneralDate)); Assert.AreEqual("1/1/1970",Strings.FormatDateTime(DateTime.Parse("1/1/1970"),DateFormat.GeneralDate)); Assert.AreEqual("2/2/2002",Strings.FormatDateTime(DateTime.Parse("2/2/2002"),DateFormat.GeneralDate)); Assert.AreEqual(tmptime.ToLongTimeString(),Strings.FormatDateTime(new DateTime(1,1,1,1,1,1,1),DateFormat.GeneralDate),"DT11"); // Assert.AreEqual(tmptime.ToLongTimeString(), Strings.FormatDateTime(DateTime.MinValue, DateFormat.GeneralDate)); // Assert.AreEqual(tmptime.ToLongDateString() + tmptime.ToLongTimeString(), Strings.FormatDateTime(DateTime.MaxValue, DateFormat.GeneralDate)); //Assert.AreEqual(tmptime.ToLongDateString() + tmptime.ToLongTimeString(),Strings.FormatDateTime(new DateTime(2000,12,5,3,23,45,5),DateFormat.GeneralDate)); } [Test] public void FormatDateTime_LongDate() { if (Helper.OnMono) Assert.Ignore ("Buggy mono: #81535"); Assert.AreEqual("Wednesday, December 30, 1215",Strings.FormatDateTime(DateTime.Parse("12/30/1215"),DateFormat.LongDate)); Assert.AreEqual("Saturday, September 11, 2038",Strings.FormatDateTime(DateTime.Parse("9/11/2038"),DateFormat.LongDate)); Assert.AreEqual("Friday, October 09, 1001",Strings.FormatDateTime(DateTime.Parse("10/9/1001"),DateFormat.LongDate)); Assert.AreEqual("Tuesday, September 24, 1918",Strings.FormatDateTime(DateTime.Parse("9/24/1918"),DateFormat.LongDate)); Assert.AreEqual("Monday, February 11, 1946",Strings.FormatDateTime(DateTime.Parse("2/11/1946"),DateFormat.LongDate)); Assert.AreEqual("Thursday, May 01, 1980",Strings.FormatDateTime(DateTime.Parse("5/1/1980"),DateFormat.LongDate)); Assert.AreEqual("Wednesday, February 28, 2001",Strings.FormatDateTime(DateTime.Parse("2/28/2001"),DateFormat.LongDate)); Assert.AreEqual("Monday, March 03, 2003",Strings.FormatDateTime(DateTime.Parse("3/3/2003"),DateFormat.LongDate)); Assert.AreEqual("Sunday, September 10, 1972",Strings.FormatDateTime(DateTime.Parse("9/10/1972"),DateFormat.LongDate)); Assert.AreEqual("Wednesday, January 12, 1487",Strings.FormatDateTime(DateTime.Parse("1/12/1487"),DateFormat.LongDate)); Assert.AreEqual("Wednesday, July 07, 0100",Strings.FormatDateTime(DateTime.Parse("7/7/100"),DateFormat.LongDate)); Assert.AreEqual("Tuesday, February 01, 2022",Strings.FormatDateTime(DateTime.Parse("2/1/22"),DateFormat.LongDate)); Assert.AreEqual("Wednesday, June 06, 0666",Strings.FormatDateTime(DateTime.Parse("6/6/666"),DateFormat.LongDate)); Assert.AreEqual("Saturday, January 01, 2000",Strings.FormatDateTime(DateTime.Parse("1/1/2000"),DateFormat.LongDate)); Assert.AreEqual("Sunday, December 31, 2000",Strings.FormatDateTime(DateTime.Parse("12/31/2000"),DateFormat.LongDate)); Assert.AreEqual("Monday, May 05, 1000",Strings.FormatDateTime(DateTime.Parse("5/5/1000"),DateFormat.LongDate)); Assert.AreEqual("Thursday, January 01, 1970",Strings.FormatDateTime(DateTime.Parse("1/1/1970"),DateFormat.LongDate)); Assert.AreEqual("Saturday, February 02, 2002",Strings.FormatDateTime(DateTime.Parse("2/2/2002"),DateFormat.LongDate)); Assert.AreEqual("Monday, January 01, 0001",Strings.FormatDateTime(new DateTime(1,1,1,1,1,1,1),DateFormat.LongDate)); Assert.AreEqual("Tuesday, December 05, 2000",Strings.FormatDateTime(new DateTime(2000,12,5,3,23,45,5),DateFormat.LongDate)); } [Test] public void FormatDateTime_ShortDate() { if (Helper.OnMono) Assert.Ignore ("Buggy mono: #81535"); Assert.AreEqual("12/30/1215",Strings.FormatDateTime(DateTime.Parse("12/30/1215"),DateFormat.ShortDate)); Assert.AreEqual("9/11/2038",Strings.FormatDateTime(DateTime.Parse("9/11/2038"),DateFormat.ShortDate)); Assert.AreEqual("10/9/1001",Strings.FormatDateTime(DateTime.Parse("10/9/1001"),DateFormat.ShortDate)); Assert.AreEqual("9/24/1918",Strings.FormatDateTime(DateTime.Parse("9/24/1918"),DateFormat.ShortDate)); Assert.AreEqual("2/11/1946",Strings.FormatDateTime(DateTime.Parse("2/11/1946"),DateFormat.ShortDate)); Assert.AreEqual("5/1/1980",Strings.FormatDateTime(DateTime.Parse("5/1/1980"),DateFormat.ShortDate)); Assert.AreEqual("2/28/2001",Strings.FormatDateTime(DateTime.Parse("2/28/2001"),DateFormat.ShortDate)); Assert.AreEqual("3/3/2003",Strings.FormatDateTime(DateTime.Parse("3/3/2003"),DateFormat.ShortDate)); Assert.AreEqual("9/10/1972",Strings.FormatDateTime(DateTime.Parse("9/10/1972"),DateFormat.ShortDate)); Assert.AreEqual("1/12/1487",Strings.FormatDateTime(DateTime.Parse("1/12/1487"),DateFormat.ShortDate)); Assert.AreEqual("7/7/0100",Strings.FormatDateTime(DateTime.Parse("7/7/100"),DateFormat.ShortDate)); Assert.AreEqual("2/1/2022",Strings.FormatDateTime(DateTime.Parse("2/1/22"),DateFormat.ShortDate)); Assert.AreEqual("6/6/0666",Strings.FormatDateTime(DateTime.Parse("6/6/666"),DateFormat.ShortDate)); Assert.AreEqual("1/1/2000",Strings.FormatDateTime(DateTime.Parse("1/1/2000"),DateFormat.ShortDate)); Assert.AreEqual("12/31/2000",Strings.FormatDateTime(DateTime.Parse("12/31/2000"),DateFormat.ShortDate)); Assert.AreEqual("5/5/1000",Strings.FormatDateTime(DateTime.Parse("5/5/1000"),DateFormat.ShortDate)); Assert.AreEqual("1/1/1970",Strings.FormatDateTime(DateTime.Parse("1/1/1970"),DateFormat.ShortDate)); Assert.AreEqual("2/2/2002",Strings.FormatDateTime(DateTime.Parse("2/2/2002"),DateFormat.GeneralDate)); Assert.AreEqual("1/1/0001",Strings.FormatDateTime(new DateTime(1,1,1,1,1,1,1),DateFormat.ShortDate)); Assert.AreEqual("12/5/2000",Strings.FormatDateTime(new DateTime(2000,12,5,3,23,45,5),DateFormat.ShortDate)); } [Test] public void FormatDateTime_LongTime()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -