📄 stringstest.cs
字号:
{ if (Helper.OnMono) Assert.Ignore ("Buggy mono: #81535"); DateTime tmptime = new DateTime(1, 10, 1); DateTime tmptime1 = new DateTime(1, 10, 1,1,1,1); DateTime tmptime2 = new DateTime(1, 10, 1,3,23,45); string strTime = tmptime.ToLongTimeString(); Assert.AreEqual(strTime, Strings.FormatDateTime(DateTime.Parse("12/30/1215"), DateFormat.LongTime)); Assert.AreEqual(strTime, Strings.FormatDateTime(DateTime.Parse("9/11/2038"), DateFormat.LongTime)); Assert.AreEqual(strTime, Strings.FormatDateTime(DateTime.Parse("10/9/1001"), DateFormat.LongTime)); Assert.AreEqual(strTime, Strings.FormatDateTime(DateTime.Parse("9/24/1918"), DateFormat.LongTime)); Assert.AreEqual(strTime, Strings.FormatDateTime(DateTime.Parse("2/11/1946"), DateFormat.LongTime)); Assert.AreEqual(strTime, Strings.FormatDateTime(DateTime.Parse("5/1/1980"), DateFormat.LongTime)); Assert.AreEqual(strTime, Strings.FormatDateTime(DateTime.Parse("2/28/2001"), DateFormat.LongTime)); Assert.AreEqual(strTime, Strings.FormatDateTime(DateTime.Parse("3/3/2003"), DateFormat.LongTime)); Assert.AreEqual(strTime, Strings.FormatDateTime(DateTime.Parse("9/10/1972"), DateFormat.LongTime)); Assert.AreEqual(strTime, Strings.FormatDateTime(DateTime.Parse("1/12/1487"), DateFormat.LongTime)); Assert.AreEqual(strTime, Strings.FormatDateTime(DateTime.Parse("7/7/100"), DateFormat.LongTime)); Assert.AreEqual(strTime, Strings.FormatDateTime(DateTime.Parse("2/1/22"), DateFormat.LongTime)); Assert.AreEqual(strTime, Strings.FormatDateTime(DateTime.Parse("6/6/666"), DateFormat.LongTime)); Assert.AreEqual(strTime, Strings.FormatDateTime(DateTime.Parse("1/1/2000"), DateFormat.LongTime)); Assert.AreEqual(strTime, Strings.FormatDateTime(DateTime.Parse("12/31/2000"), DateFormat.LongTime)); Assert.AreEqual(strTime, Strings.FormatDateTime(DateTime.Parse("5/5/1000"), DateFormat.LongTime)); Assert.AreEqual(strTime, Strings.FormatDateTime(DateTime.Parse("1/1/1970"), DateFormat.LongTime)); Assert.AreEqual(strTime, Strings.FormatDateTime(DateTime.Parse("2/2/2002"), DateFormat.LongTime)); Assert.AreEqual(tmptime1.ToLongTimeString(), Strings.FormatDateTime(new DateTime(1, 1, 1, 1, 1, 1, 1), DateFormat.LongTime)); Assert.AreEqual(tmptime2.ToLongTimeString(), Strings.FormatDateTime(new DateTime(2000, 12, 5, 3, 23, 45, 5), DateFormat.LongTime)); } [Test] public void FormatDateTime_ShortTime() { if (Helper.OnMono) Assert.Ignore ("Buggy mono: #81535"); Assert.AreEqual("00:00",Strings.FormatDateTime(DateTime.Parse("12/30/1215"),DateFormat.ShortTime)); Assert.AreEqual("00:00",Strings.FormatDateTime(DateTime.Parse("9/11/2038"),DateFormat.ShortTime)); Assert.AreEqual("00:00",Strings.FormatDateTime(DateTime.Parse("10/9/1001"),DateFormat.ShortTime)); Assert.AreEqual("00:00",Strings.FormatDateTime(DateTime.Parse("9/24/1918"),DateFormat.ShortTime)); Assert.AreEqual("00:00",Strings.FormatDateTime(DateTime.Parse("2/11/1946"),DateFormat.ShortTime)); Assert.AreEqual("00:00",Strings.FormatDateTime(DateTime.Parse("5/1/1980"),DateFormat.ShortTime)); Assert.AreEqual("00:00",Strings.FormatDateTime(DateTime.Parse("2/28/2001"),DateFormat.ShortTime)); Assert.AreEqual("00:00",Strings.FormatDateTime(DateTime.Parse("3/3/2003"),DateFormat.ShortTime)); Assert.AreEqual("00:00",Strings.FormatDateTime(DateTime.Parse("9/10/1972"),DateFormat.ShortTime)); Assert.AreEqual("00:00",Strings.FormatDateTime(DateTime.Parse("1/12/1487"),DateFormat.ShortTime)); Assert.AreEqual("00:00",Strings.FormatDateTime(DateTime.Parse("7/7/100"),DateFormat.ShortTime)); Assert.AreEqual("00:00",Strings.FormatDateTime(DateTime.Parse("2/1/22"),DateFormat.ShortTime)); Assert.AreEqual("00:00",Strings.FormatDateTime(DateTime.Parse("6/6/666"),DateFormat.ShortTime)); Assert.AreEqual("00:00",Strings.FormatDateTime(DateTime.Parse("1/1/2000"),DateFormat.ShortTime)); Assert.AreEqual("00:00",Strings.FormatDateTime(DateTime.Parse("12/31/2000"),DateFormat.ShortTime)); Assert.AreEqual("00:00",Strings.FormatDateTime(DateTime.Parse("5/5/1000"),DateFormat.ShortTime)); Assert.AreEqual("00:00",Strings.FormatDateTime(DateTime.Parse("1/1/1970"),DateFormat.ShortTime)); Assert.AreEqual("00:00",Strings.FormatDateTime(DateTime.Parse("2/2/2002"),DateFormat.ShortTime)); Assert.AreEqual("01:01",Strings.FormatDateTime(new DateTime(1,1,1,1,1,1,1),DateFormat.ShortTime)); Assert.AreEqual("03:23",Strings.FormatDateTime(new DateTime(2000,12,5,3,23,45,5),DateFormat.ShortTime)); } [Test] [ExpectedException(typeof(ArgumentException))] public void FormatDateTime1() { Strings.FormatDateTime(new DateTime(2000,12,5,3,23,45,5),(DateFormat) 100); } #endregion #region FormatNumber tests [Test] public void FormatNumber1() { Assert.AreEqual("-123.00",Strings.FormatNumber(-123,-1,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("-123.000",Strings.FormatNumber(-123,3,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("-123.00",Strings.FormatNumber(-123,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("-123.0",Strings.FormatNumber(-123,1,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("4,500.00",Strings.FormatNumber(4500,-1,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("4,500.000",Strings.FormatNumber(4500,3,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("4,500.00",Strings.FormatNumber(4500,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("4,500.0",Strings.FormatNumber(4500,1,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); } [Test] public void FormatNumber_TriState1() { Assert.AreEqual("-123.00",Strings.FormatNumber(-123,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("-123.00",Strings.FormatNumber(-123,2,TriState.False,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("-123.00",Strings.FormatNumber(-123,2,TriState.True,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("4,500.00",Strings.FormatNumber(4500,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("4,500.00",Strings.FormatNumber(4500,2,TriState.False,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("4,500.00",Strings.FormatNumber(4500,2,TriState.True,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("-0.12",Strings.FormatNumber(-0.123,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("-.12",Strings.FormatNumber(-0.123,2,TriState.False,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("-0.12",Strings.FormatNumber(-0.123,2,TriState.True,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("0.45",Strings.FormatNumber(0.4500,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual(".45",Strings.FormatNumber(0.4500,2,TriState.False,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("0.45",Strings.FormatNumber(0.4500,2,TriState.True,TriState.UseDefault,TriState.UseDefault)); } [Test] public void FormatNumber_TriState2() { Assert.AreEqual("-123.00",Strings.FormatNumber(-123,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("-123.00",Strings.FormatNumber(-123,2,TriState.UseDefault,TriState.False,TriState.UseDefault)); Assert.AreEqual("(123.00)",Strings.FormatNumber(-123,2,TriState.UseDefault,TriState.True,TriState.UseDefault)); Assert.AreEqual("4,500.00",Strings.FormatNumber(4500,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("4,500.00",Strings.FormatNumber(4500,2,TriState.UseDefault,TriState.False,TriState.UseDefault)); Assert.AreEqual("4,500.00",Strings.FormatNumber(4500,2,TriState.UseDefault,TriState.True,TriState.UseDefault)); } [Test] public void FormatNumber_TriState3() { Assert.AreEqual("-123.00",Strings.FormatNumber(-123,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("-123.00",Strings.FormatNumber(-123,2,TriState.UseDefault,TriState.UseDefault,TriState.False)); Assert.AreEqual("-123.00",Strings.FormatNumber(-123,2,TriState.UseDefault,TriState.UseDefault,TriState.True)); Assert.AreEqual("4,500.00",Strings.FormatNumber(4500,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("4500.00",Strings.FormatNumber(4500,2,TriState.UseDefault,TriState.UseDefault,TriState.False)); Assert.AreEqual("4,500.00",Strings.FormatNumber(4500,2,TriState.UseDefault,TriState.UseDefault,TriState.True)); } [Test] [ExpectedException(typeof(InvalidCastException))] public void FormatNumber2() { object o = "abcd"; Strings.FormatNumber(o,2,TriState.UseDefault,TriState.UseDefault,TriState.True); } [Test] [ExpectedException(typeof(ArgumentException))] public void FormatNumber3() { string s = Strings.FormatNumber(-123.42,100,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault); } [Test] public void FormatNumber4() { Assert.AreEqual("234.430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",Strings.FormatNumber(234.43,99,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); } #endregion #region FormatPercent tests [Test] public void FormatPercent1() { Assert.AreEqual("-12,300.00%",Strings.FormatPercent(-123,-1,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("-12,300.000%",Strings.FormatPercent(-123,3,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("-12,300.00%",Strings.FormatPercent(-123,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("-12,300.0%",Strings.FormatPercent(-123,1,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("450,000.00%",Strings.FormatPercent(4500,-1,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("450,000.000%",Strings.FormatPercent(4500,3,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("450,000.00%",Strings.FormatPercent(4500,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("450,000.0%",Strings.FormatPercent(4500,1,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); } [Test] public void FormatPercent_TriState1() { Assert.AreEqual("-12,300.00%",Strings.FormatPercent(-123,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("-12,300.00%",Strings.FormatPercent(-123,2,TriState.False,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("-12,300.00%",Strings.FormatPercent(-123,2,TriState.True,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("450,000.00%",Strings.FormatPercent(4500,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("450,000.00%",Strings.FormatPercent(4500,2,TriState.False,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("450,000.00%",Strings.FormatPercent(4500,2,TriState.True,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("-12.30%",Strings.FormatPercent(-0.123,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("-12.30%",Strings.FormatPercent(-0.123,2,TriState.False,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("-12.30%",Strings.FormatPercent(-0.123,2,TriState.True,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("45.00%",Strings.FormatPercent(0.4500,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("45.00%",Strings.FormatPercent(0.4500,2,TriState.False,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("45.00%",Strings.FormatPercent(0.4500,2,TriState.True,TriState.UseDefault,TriState.UseDefault)); } [Test] public void FormatPercent_TriState2() { Assert.AreEqual("-12,300.00%",Strings.FormatPercent(-123,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("-12,300.00%",Strings.FormatPercent(-123,2,TriState.UseDefault,TriState.False,TriState.UseDefault)); Assert.AreEqual("(12,300.00%)",Strings.FormatPercent(-123,2,TriState.UseDefault,TriState.True,TriState.UseDefault)); Assert.AreEqual("450,000.00%",Strings.FormatPercent(4500,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("450,000.00%",Strings.FormatPercent(4500,2,TriState.UseDefault,TriState.False,TriState.UseDefault)); Assert.AreEqual("450,000.00%",Strings.FormatPercent(4500,2,TriState.UseDefault,TriState.True,TriState.UseDefault)); } [Test] public void FormatPercent_TriState3() { Assert.AreEqual("-12,300.00%",Strings.FormatPercent(-123,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("-12300.00%",Strings.FormatPercent(-123,2,TriState.UseDefault,TriState.UseDefault,TriState.False)); Assert.AreEqual("-12,300.00%",Strings.FormatPercent(-123,2,TriState.UseDefault,TriState.UseDefault,TriState.True)); Assert.AreEqual("450,000.00%",Strings.FormatPercent(4500,2,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); Assert.AreEqual("450000.00%",Strings.FormatPercent(4500,2,TriState.UseDefault,TriState.UseDefault,TriState.False)); Assert.AreEqual("450,000.00%",Strings.FormatPercent(4500,2,TriState.UseDefault,TriState.UseDefault,TriState.True)); } [Test] [ExpectedException(typeof(InvalidCastException))] public void FormatPercent2() { object o = "abcd"; Strings.FormatPercent(o,2,TriState.UseDefault,TriState.UseDefault,TriState.True); } [Test] public void FormatPercent3() { Assert.AreEqual("23,443.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000%",Strings.FormatPercent(234.43,110,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); } [Test] public void FormatPercent4() { Assert.AreEqual("23,443.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000%",Strings.FormatPercent(234.43,99,TriState.UseDefault,TriState.UseDefault,TriState.UseDefault)); } #endregion #region GetChar Tests [Test] public void GetChar_1() { Assert.AreEqual('a',Strings.GetChar("abCd",1)); Assert.AreEqual('b',Strings.GetChar("abCd",2)); Assert.AreEqual('C',Strings.GetChar("abCd",3)); Assert.AreEqual('d',Strings.GetChar("abCd",4)); } [Test] [ExpectedException(typeof(ArgumentException))] public void GetChar_2() { Strings.GetChar(null,1); } [Test] [ExpectedException(typeof(ArgumentException))] public void GetChar_3() { Strings.GetChar("abc",-1); } [Test] [ExpectedException(typeof(ArgumentException))] public void GetChar_4() { Strings.GetChar("abc",0); } [Test] [ExpectedException(typeof(ArgumentException))] public void GetChar_5() { Strings.GetChar("abc",4); } #endregion #region InStr Tests [Test] public void InStr_1() { Assert.AreEqual(2,Strings.InStr("abcd","b",CompareMethod.Text)); Assert.AreEqual(2,Strings.InStr(2,"abcd","b",CompareMethod.Text)); Assert.AreEqual(0,Strings.InStr(3,"abcd","b",CompareMethod.Text)); Assert.AreEqual(0,Strings.InStr("abcd","B",CompareMethod.Binary)); Assert.AreEqual(2,Strings.InStr("abcd","B",CompareMethod.Text)); } [Test] public void InStr_2() { Assert.AreEqual(0,Strings.InStr(2,"","B",CompareMethod.Text)); Assert.AreEqual(0,Strings.InStr(2,null,"B",CompareMethod.Text)); Assert.AreEqual(2,Strings.InStr(2,"abcd",null,CompareMethod.Text)); Assert.AreEqual(2,Strings.InStr(2,"abcd","",CompareMethod.Text)); } [Test] [ExpectedException(typeof(ArgumentException))] public void InStr_3() { Strings.InStr(0,"abcd","b",CompareMethod.Text); } [Test] [ExpectedException(typeof(ArgumentException))] public void InStr_4() { Strings.InStr(-1,"abcd","b",CompareMethod.Text); } #endregion #region InStrRev Tests [Test] public void InStrRev_1() { Assert.AreEqual(2,Strings.InStrRev("abcd","b",-1,CompareMethod.Text)); Assert.AreEqual(2,Strings.InStrRev("abcd","b",2,CompareMethod.Text)); Assert.AreEqual(0,Strings.InStrRev("abcd","b",1,CompareMethod.Text)); Assert.AreEqual(5,Strings.InStrRev("abcdb","b",-1,CompareMethod.Text)); Assert.AreEqual(2,Strings.InStrRev("abcdb","b",3,CompareMethod.Text)); Assert.AreEqual(0,Strings.InStrRev("abcdb","b",1,CompareMethod.Text)); Assert.AreEqual(0,Strings.InStrRev("abcd","B",-1,CompareMethod.Binary)); Assert.AreEqual(2,Strings.InStrRev("abcd","B",-1,CompareMethod.Text)); } [Test] public void InStrRev_2() { Assert.AreEqual(0,Strings.InStrRev("","B",2,CompareMethod.Text)); Assert.AreEqual(0,Strings.InStrRev(null,"B",2,CompareMethod.Text)); Assert.AreEqual(2,Strings.InStrRev("abcd",null,2,CompareMethod.Text)); Assert.AreEqual(2,Strings.InStrRev("abcd","",2,CompareMethod.Text)); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -