Sys.cs 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268
  1. using System;
  2. using System.IO;
  3. using NF = NUnit.Framework;
  4. using IS = Indy.Sockets;
  5. namespace Indy.Tests
  6. {
  7. [NF.TestFixture]
  8. public class SysTests
  9. {
  10. public SysTests()
  11. {
  12. }
  13. [NF.Test]
  14. public void Format()
  15. {
  16. NF.Assert.AreEqual(IS.Sys.Format("%s", new object[]{"Hello, World!"}), "Hello, World!");
  17. NF.Assert.AreEqual(IS.Sys.Format("%d", 43), "43");
  18. NF.Assert.AreEqual(IS.Sys.Format("%x", 255), "ff");
  19. }
  20. [NF.Test]
  21. public void LastChars()
  22. {
  23. NF.Assert.AreEqual(IS.Sys.LastChars("Chad is Indy's Chief", 12), "Indy's Chief");
  24. NF.Assert.AreEqual(IS.Sys.LastChars("Hello", 25), "Hello");
  25. NF.Assert.AreEqual(IS.Sys.LastChars("Hello", 5), "Hello");
  26. }
  27. [NF.Test]
  28. public void AnsiCompareText()
  29. {
  30. NF.Assert.IsTrue(IS.Sys.AnsiCompareText("Hello", "Hello") == 0);
  31. NF.Assert.IsTrue(IS.Sys.AnsiCompareText("Hello", "hello") == 0);
  32. }
  33. [NF.Test]
  34. public void AddMSecToTime()
  35. {
  36. DateTime TempTime = DateTime.Now;
  37. NF.Assert.AreEqual(IS.Sys.DateTimeToStr(IS.Sys.AddMSecToTime(TempTime, 0)), IS.Sys.DateTimeToStr(TempTime.AddMilliseconds(0)), "1");
  38. NF.Assert.AreEqual(IS.Sys.DateTimeToStr(IS.Sys.AddMSecToTime(TempTime, 1)), IS.Sys.DateTimeToStr(TempTime.AddMilliseconds(1)), "2");
  39. NF.Assert.AreEqual(IS.Sys.DateTimeToStr(IS.Sys.AddMSecToTime(TempTime, 10)), IS.Sys.DateTimeToStr(TempTime.AddMilliseconds(10)), "3");
  40. }
  41. [NF.Test]
  42. public void StrToInt64()
  43. {
  44. NF.Assert.AreEqual(IS.Sys.StrToInt64("1"), Int64.Parse("1"));
  45. NF.Assert.AreEqual(IS.Sys.StrToInt64("-1"), Int64.Parse("-1"));
  46. }
  47. [NF.Test]
  48. public void StrToInt64Def()
  49. {
  50. NF.Assert.AreEqual(IS.Sys.StrToInt64Def("Hello", 1), 1);
  51. NF.Assert.AreEqual(IS.Sys.StrToInt64Def("1", 2), 1);
  52. NF.Assert.AreEqual(IS.Sys.StrToInt64Def("Hello", -1), -1);
  53. NF.Assert.AreEqual(IS.Sys.StrToInt64Def("-1", -2), -1);
  54. }
  55. [NF.Test]
  56. public void FloatToIntStr()
  57. {
  58. NF.Assert.AreEqual(IS.Sys.FloatToIntStr(4.1f), "4");
  59. NF.Assert.AreEqual(IS.Sys.FloatToIntStr(4.0f), "4");
  60. }
  61. [NF.Test]
  62. public void DecodeTime()
  63. {
  64. ushort AHour = 0;
  65. ushort AMin = 0;
  66. ushort ASec = 0;
  67. ushort AMSec = 0;
  68. DateTime Temp = DateTime.Now;
  69. IS.Sys.DecodeTime(Temp, ref AHour, ref AMin, ref ASec, ref AMSec);
  70. NF.Assert.AreEqual(AHour, Temp.Hour);
  71. NF.Assert.AreEqual(AMin, Temp.Minute);
  72. NF.Assert.AreEqual(ASec, Temp.Second);
  73. NF.Assert.AreEqual(AMSec, Temp.Millisecond);
  74. }
  75. [NF.Test]
  76. public void DecodeDate()
  77. {
  78. ushort ADay = 0;
  79. ushort AMonth = 0;
  80. ushort AYear = 0;
  81. DateTime Temp = DateTime.Now;
  82. IS.Sys.DecodeDate(Temp, ref AYear, ref AMonth, ref ADay);
  83. NF.Assert.AreEqual(AYear, Temp.Year);
  84. NF.Assert.AreEqual(AMonth, Temp.Month);
  85. NF.Assert.AreEqual(ADay, Temp.Day);
  86. }
  87. [NF.Test]
  88. public void EncodeTime()
  89. {
  90. ushort AHour = 10;
  91. ushort AMin = 15;
  92. ushort ASec = 30;
  93. ushort AMSec = 50;
  94. NF.Assert.IsTrue(DateTime.Equals(IS.Sys.EncodeTime(AHour, AMin, ASec, AMSec), new DateTime(1899, 12, 30, AHour, AMin, ASec, AMSec)));
  95. }
  96. [NF.Test]
  97. public void EncodeDate()
  98. {
  99. ushort AYear = 2005;
  100. ushort AMonth = 3;
  101. ushort ADay = 20;
  102. NF.Assert.IsTrue(DateTime.Equals(IS.Sys.EncodeDate(AYear, AMonth, ADay), new DateTime(AYear, AMonth, ADay)));
  103. }
  104. [NF.Test]
  105. public void DateTimeToStr()
  106. {
  107. DateTime Temp = DateTime.Now;
  108. NF.Assert.AreEqual(IS.Sys.DateTimeToStr(Temp), Temp.ToString());
  109. }
  110. [NF.Test]
  111. public void StrToDateTime()
  112. {
  113. DateTime Temp = DateTime.Now;
  114. NF.Assert.AreEqual(IS.Sys.DateTimeToStr(IS.Sys.StrToDateTime(Temp.ToString())), IS.Sys.DateTimeToStr(Temp));
  115. }
  116. [NF.Test]
  117. public void DayOfWeek()
  118. {
  119. NF.Assert.AreEqual(IS.Sys.DayOfWeek(DateTime.Now), ((int)DateTime.Now.DayOfWeek) + 1);
  120. }
  121. [NF.Test]
  122. public void SameText()
  123. {
  124. NF.Assert.IsTrue(IS.Sys.SameText("Hello", "Hello"));
  125. NF.Assert.IsTrue(IS.Sys.SameText("Hello", "hello"));
  126. NF.Assert.IsFalse(IS.Sys.SameText("Hello", "World"));
  127. }
  128. [NF.Test]
  129. public void CompareStr()
  130. {
  131. NF.Assert.AreEqual(IS.Sys.CompareStr("Hello", "Hello"), 0);
  132. NF.Assert.AreEqual(IS.Sys.CompareStr("Hello", "hello"), String.Compare("Hello", "hello"));
  133. }
  134. [NF.Test]
  135. public void CompareDate()
  136. {
  137. DateTime Now = DateTime.Now;
  138. DateTime NowUtc = DateTime.UtcNow;
  139. NF.Assert.AreEqual(IS.Sys.CompareDate(Now, Now), 0);
  140. NF.Assert.AreEqual(IS.Sys.CompareDate(Now, NowUtc), DateTime.Compare(Now, NowUtc));
  141. NF.Assert.AreEqual(IS.Sys.CompareDate(NowUtc, Now), DateTime.Compare(NowUtc, Now));
  142. }
  143. [NF.Test]
  144. public void IntToStr()
  145. {
  146. NF.Assert.AreEqual(IS.Sys.IntToStr(25), "25");
  147. NF.Assert.AreEqual(IS.Sys.IntToStr(-25), "-25");
  148. }
  149. [NF.Test]
  150. public void Int64ToStr()
  151. {
  152. NF.Assert.AreEqual(IS.Sys.IntToStr(((long)25)), "25");
  153. NF.Assert.AreEqual(IS.Sys.IntToStr(((long)-25)), "-25");
  154. }
  155. [NF.Test]
  156. public void UpperCase()
  157. {
  158. NF.Assert.AreEqual(IS.Sys.UpperCase("Hello, World!"), "HELLO, WORLD!");
  159. NF.Assert.AreEqual(IS.Sys.UpperCase("A"), "A");
  160. }
  161. [NF.Test]
  162. public void LowerCase()
  163. {
  164. NF.Assert.AreEqual(IS.Sys.LowerCase("Hello, World!"), "hello, world!");
  165. NF.Assert.AreEqual(IS.Sys.LowerCase("a"), "a");
  166. }
  167. [NF.Test]
  168. public void StrToInt()
  169. {
  170. NF.Assert.AreEqual(IS.Sys.StrToInt("-1"), -1);
  171. NF.Assert.AreEqual(IS.Sys.StrToInt("0"), 0);
  172. NF.Assert.AreEqual(IS.Sys.StrToInt("1"), 1);
  173. }
  174. [NF.Test]
  175. public void StrToIntDef()
  176. {
  177. NF.Assert.AreEqual(IS.Sys.StrToInt("-1", 2), -1);
  178. NF.Assert.AreEqual(IS.Sys.StrToInt("0", 2), 0);
  179. NF.Assert.AreEqual(IS.Sys.StrToInt("1", 2), 1);
  180. NF.Assert.AreEqual(IS.Sys.StrToInt("Hello", 2), 2);
  181. }
  182. [NF.Test]
  183. public void Trim()
  184. {
  185. NF.Assert.AreEqual(IS.Sys.Trim("Hello, World!"), "Hello, World!");
  186. NF.Assert.AreEqual(IS.Sys.Trim(" Hello, World! "), "Hello, World!");
  187. }
  188. [NF.Test]
  189. public void TrimLeft()
  190. {
  191. NF.Assert.AreEqual(IS.Sys.TrimLeft("Hello, World!"), "Hello, World!");
  192. NF.Assert.AreEqual(IS.Sys.TrimLeft(" Hello, World! "), "Hello, World! ");
  193. }
  194. [NF.Test]
  195. public void TrimRight()
  196. {
  197. NF.Assert.AreEqual(IS.Sys.TrimRight("Hello, World!"), "Hello, World!");
  198. NF.Assert.AreEqual(IS.Sys.TrimRight(" Hello, World! "), " Hello, World!");
  199. }
  200. [NF.Test]
  201. [NF.ExpectedException(typeof(IS.EAbort))]
  202. public void Abort()
  203. {
  204. IS.Sys.Abort();
  205. }
  206. [NF.Test]
  207. public void ExtractFileName()
  208. {
  209. NF.Assert.AreEqual(IS.Sys.ExtractFileName("C:\\Temp\\MyFile.txt"), Path.GetFileName("C:\\Temp\\MyFile.txt"));
  210. }
  211. [NF.Test]
  212. public void ExtractFileExt()
  213. {
  214. NF.Assert.AreEqual(IS.Sys.ExtractFileExt("C:\\Temp\\MyFile.txt"), ".txt");
  215. }
  216. [NF.Test]
  217. public void ChangeFileExt()
  218. {
  219. NF.Assert.AreEqual(IS.Sys.ChangeFileExt("C:\\Temp\\MyFile.txt", ".exe"), "C:\\Temp\\MyFile.exe");
  220. }
  221. [NF.Test]
  222. public void LastDelimiter()
  223. {
  224. NF.Assert.AreEqual(IS.Sys.LastDelimiter(".", "C:\\Temp\\MyFile.txt"), "C:\\Temp\\MyFile.txt".LastIndexOf("."));
  225. NF.Assert.AreEqual(IS.Sys.LastDelimiter(".", "Hello, World!"), -1);
  226. }
  227. [NF.Test]
  228. public void StringReplace()
  229. {
  230. NF.Assert.AreEqual(IS.Sys.StringReplace("Hello, World!", "Indy", "Indy on .NET"), "Hello, World!");
  231. NF.Assert.AreEqual(IS.Sys.StringReplace("Hello, World!", "World", "Universe"), "Hello, Universe!");
  232. }
  233. }
  234. }