BinaryWriterTest.cs 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523
  1. //
  2. // System.IO.StringWriter
  3. //
  4. // Authors:
  5. // Ville Palo ([email protected])
  6. //
  7. // (C) 2003 Ville Palo
  8. //
  9. using NUnit.Framework;
  10. using System.IO;
  11. using System.Text;
  12. using System;
  13. namespace MonoTests.System.IO {
  14. [TestFixture]
  15. public class BinaryWriterTest {
  16. string TempFolder = Path.Combine (Path.GetTempPath (), "MonoTests.System.IO.Tests");
  17. public BinaryWriterTest()
  18. {
  19. if (Directory.Exists (TempFolder))
  20. Directory.Delete (TempFolder, true);
  21. Directory.CreateDirectory (TempFolder);
  22. }
  23. ~BinaryWriterTest ()
  24. {
  25. if (Directory.Exists (TempFolder))
  26. Directory.Delete (TempFolder, true);
  27. }
  28. [SetUp]
  29. protected void SetUp() {
  30. if (!Directory.Exists (TempFolder))
  31. Directory.CreateDirectory (TempFolder);
  32. }
  33. [Test]
  34. public void Ctor ()
  35. {
  36. MemoryStream stream = new MemoryStream ();
  37. BinaryWriter writer = new BinaryWriter (stream);
  38. Assertion.AssertEquals ("test#01", true, writer.BaseStream.CanRead);
  39. Assertion.AssertEquals ("test#02", true, writer.BaseStream.CanSeek);
  40. Assertion.AssertEquals ("test#03", true, writer.BaseStream.CanWrite);
  41. writer = new BinaryWriter (stream, new ASCIIEncoding ());
  42. Assertion.AssertEquals ("test#04", true, writer.BaseStream.CanRead);
  43. Assertion.AssertEquals ("test#05", true, writer.BaseStream.CanSeek);
  44. Assertion.AssertEquals ("test#06", true, writer.BaseStream.CanWrite);
  45. }
  46. /// <summary>
  47. /// Throws an exception if stream is null
  48. /// </summary>
  49. [Test]
  50. [ExpectedException(typeof(ArgumentNullException))]
  51. public void CtorNullExceptionStream ()
  52. {
  53. BinaryWriter reader = new BinaryWriter (null);
  54. }
  55. /// <summary>
  56. /// Throws an exception if encoding is null
  57. /// </summary>
  58. [Test]
  59. [ExpectedException(typeof(ArgumentNullException))]
  60. public void CtorNullExceptionStreamEncoding ()
  61. {
  62. MemoryStream stream = new MemoryStream ();
  63. BinaryWriter reader = new BinaryWriter (stream, null);
  64. }
  65. /// <summary>
  66. /// Throws an exception if stream is closed
  67. /// </summary>
  68. [Test]
  69. [ExpectedException(typeof(ArgumentException))]
  70. public void CtorExceptionStreamClosed ()
  71. {
  72. MemoryStream stream = new MemoryStream ();
  73. stream.Close ();
  74. BinaryWriter writer = new BinaryWriter (stream);
  75. }
  76. /// <summary>
  77. /// Throws an exception if stream does not support writing
  78. /// </summary>
  79. [Test]
  80. [ExpectedException(typeof(ArgumentException))]
  81. public void CtorArgumentExceptionStreamCannotWrite ()
  82. {
  83. string path = TempFolder + "/.BinaryWriterTest.1";
  84. DeleteFile (path);
  85. FileStream stream = new FileStream (path, FileMode.OpenOrCreate, FileAccess.Read);
  86. BinaryWriter reader = new BinaryWriter (stream);
  87. DeleteFile (path);
  88. }
  89. [Test]
  90. public void Encoding ()
  91. {
  92. MemoryStream stream = new MemoryStream ();
  93. BinaryWriter writer = new BinaryWriter (stream);
  94. writer.Write ("t*st");
  95. byte [] bytes = stream.GetBuffer ();
  96. Assertion.AssertEquals ("test#01", 4, bytes [0]);
  97. Assertion.AssertEquals ("test#02", 116, bytes [1]);
  98. Assertion.AssertEquals ("test#03", 42, bytes [2]);
  99. Assertion.AssertEquals ("test#04", 115, bytes [3]);
  100. Assertion.AssertEquals ("test#05", 116, bytes [4]);
  101. Assertion.AssertEquals ("test#06", 0, bytes [5]);
  102. stream = new MemoryStream ();
  103. writer = new BinaryWriter (stream, new UnicodeEncoding ());
  104. writer.Write ("t*st");
  105. bytes = stream.GetBuffer ();
  106. Assertion.AssertEquals ("test#07", 8, bytes [0]);
  107. Assertion.AssertEquals ("test#08", 116, bytes [1]);
  108. Assertion.AssertEquals ("test#09", 0, bytes [2]);
  109. Assertion.AssertEquals ("test#10", 42, bytes [3]);
  110. Assertion.AssertEquals ("test#11", 0, bytes [4]);
  111. Assertion.AssertEquals ("test#12", 115, bytes [5]);
  112. Assertion.AssertEquals ("test#13", 0, bytes [6]);
  113. Assertion.AssertEquals ("test#14", 116, bytes [7]);
  114. Assertion.AssertEquals ("test#15", 0, bytes [8]);
  115. stream = new MemoryStream ();
  116. writer = new BinaryWriter (stream, new UTF7Encoding ());
  117. writer.Write ("t*st");
  118. bytes = stream.GetBuffer ();
  119. Assertion.AssertEquals ("test#16", 8, bytes [0]);
  120. Assertion.AssertEquals ("test#17", 116, bytes [1]);
  121. Assertion.AssertEquals ("test#18", 43, bytes [2]);
  122. Assertion.AssertEquals ("test#19", 65, bytes [3]);
  123. Assertion.AssertEquals ("test#21", 67, bytes [4]);
  124. Assertion.AssertEquals ("test#22", 111, bytes [5]);
  125. Assertion.AssertEquals ("test#23", 45, bytes [6]);
  126. Assertion.AssertEquals ("test#24", 115, bytes [7]);
  127. Assertion.AssertEquals ("test#25", 116, bytes [8]);
  128. Assertion.AssertEquals ("test#26", 0, bytes [9]);
  129. Assertion.AssertEquals ("test#27", 0, bytes [10]);
  130. stream = new MemoryStream ();
  131. writer = new BinaryWriter (stream, new ASCIIEncoding ());
  132. writer.Write ("t*st");
  133. bytes = stream.GetBuffer ();
  134. Assertion.AssertEquals ("test#28", 4, bytes [0]);
  135. Assertion.AssertEquals ("test#29", 116, bytes [1]);
  136. Assertion.AssertEquals ("test#30", 42, bytes [2]);
  137. Assertion.AssertEquals ("test#31", 115, bytes [3]);
  138. Assertion.AssertEquals ("test#32", 116, bytes [4]);
  139. Assertion.AssertEquals ("test#33", 0, bytes [5]);
  140. }
  141. [Test]
  142. [ExpectedException(typeof(ObjectDisposedException))]
  143. public void Close1 ()
  144. {
  145. MemoryStream stream = new MemoryStream ();
  146. BinaryWriter writer = new BinaryWriter (stream, new ASCIIEncoding ());
  147. writer.Close ();
  148. writer.Write ("Test");
  149. }
  150. [Test]
  151. public void Close2 ()
  152. {
  153. MemoryStream stream = new MemoryStream ();
  154. BinaryWriter writer = new BinaryWriter (stream, new ASCIIEncoding ());
  155. writer.Close ();
  156. writer.Flush ();
  157. stream.Flush ();
  158. }
  159. [Test]
  160. [ExpectedException(typeof(ObjectDisposedException))]
  161. public void Close3 ()
  162. {
  163. MemoryStream stream = new MemoryStream ();
  164. BinaryWriter writer = new BinaryWriter (stream, new ASCIIEncoding ());
  165. writer.Close ();
  166. writer.Seek (1, SeekOrigin.Begin);
  167. }
  168. [Test]
  169. public void Close4 ()
  170. {
  171. MemoryStream stream = new MemoryStream ();
  172. BinaryWriter writer = new BinaryWriter (stream, new ASCIIEncoding ());
  173. writer.Close ();
  174. Assertion.AssertEquals ("test#01", false, writer.BaseStream.CanRead);
  175. Assertion.AssertEquals ("test#01", false, writer.BaseStream.CanWrite);
  176. Assertion.AssertEquals ("test#01", false, writer.BaseStream.CanSeek);
  177. }
  178. [Test]
  179. public void Seek ()
  180. {
  181. MemoryStream stream = new MemoryStream ();
  182. BinaryWriter writer = new BinaryWriter (stream, new ASCIIEncoding ());
  183. writer.Write ("Test");
  184. writer.Seek (2, SeekOrigin.Begin);
  185. writer.Write ("-");
  186. writer.Seek (400, SeekOrigin.Begin);
  187. writer.Write ("-");
  188. writer.Seek (-394, SeekOrigin.End);
  189. writer.Write ("-");
  190. writer.Seek (-2, SeekOrigin.Current);
  191. writer.Write ("-");
  192. byte [] bytes = stream.GetBuffer ();
  193. Assertion.AssertEquals ("test#01", 512, bytes.Length);
  194. Assertion.AssertEquals ("test#02", 4, bytes [0]);
  195. Assertion.AssertEquals ("test#03", 84, bytes [1]);
  196. Assertion.AssertEquals ("test#04", 1, bytes [2]);
  197. Assertion.AssertEquals ("test#05", 45, bytes [3]);
  198. Assertion.AssertEquals ("test#06", 116, bytes [4]);
  199. Assertion.AssertEquals ("test#07", 0, bytes [5]);
  200. Assertion.AssertEquals ("test#08", 0, bytes [6]);
  201. Assertion.AssertEquals ("test#09", 0, bytes [7]);
  202. Assertion.AssertEquals ("test#10", 1, bytes [8]);
  203. Assertion.AssertEquals ("test#11", 45, bytes [9]);
  204. Assertion.AssertEquals ("test#12", 0, bytes [10]);
  205. Assertion.AssertEquals ("test#13", 0, bytes [11]);
  206. Assertion.AssertEquals ("test#14", 0, bytes [12]);
  207. Assertion.AssertEquals ("test#15", 1, bytes [400]);
  208. }
  209. [Test]
  210. [ExpectedException(typeof(IOException))]
  211. public void SeekException ()
  212. {
  213. MemoryStream stream = new MemoryStream ();
  214. BinaryWriter writer = new BinaryWriter (stream);
  215. writer.Write ("Test");
  216. writer.Seek (-12, SeekOrigin.Begin);
  217. }
  218. [Test]
  219. public void WriteCharArray ()
  220. {
  221. MemoryStream stream = new MemoryStream ();
  222. BinaryWriter writer = new BinaryWriter (stream);
  223. writer.Write (new char [] {'m', 'o', 'n', 'o', ':', ':'});
  224. writer.Write (new char [] {':', ':', 'O', 'N', 'O', 'M'});
  225. byte [] bytes = stream.GetBuffer ();
  226. Assertion.AssertEquals ("test#01", 256, bytes.Length);
  227. Assertion.AssertEquals ("test#02", 109, bytes [0]);
  228. Assertion.AssertEquals ("test#03", 111, bytes [1]);
  229. Assertion.AssertEquals ("test#04", 110, bytes [2]);
  230. Assertion.AssertEquals ("test#05", 111, bytes [3]);
  231. Assertion.AssertEquals ("test#06", 58, bytes [4]);
  232. Assertion.AssertEquals ("test#07", 58, bytes [5]);
  233. Assertion.AssertEquals ("test#08", 58, bytes [6]);
  234. Assertion.AssertEquals ("test#09", 58, bytes [7]);
  235. Assertion.AssertEquals ("test#10", 79, bytes [8]);
  236. Assertion.AssertEquals ("test#11", 78, bytes [9]);
  237. Assertion.AssertEquals ("test#12", 79, bytes [10]);
  238. Assertion.AssertEquals ("test#13", 77, bytes [11]);
  239. Assertion.AssertEquals ("test#14", 0, bytes [12]);
  240. Assertion.AssertEquals ("test#15", 0, bytes [13]);
  241. }
  242. [Test]
  243. public void WriteByteArray ()
  244. {
  245. MemoryStream stream = new MemoryStream ();
  246. BinaryWriter writer = new BinaryWriter (stream);
  247. writer.Write (new byte [] {1, 2, 3, 4, 5, 6});
  248. writer.Write (new byte [] {6, 5, 4, 3, 2, 1});
  249. byte [] bytes = stream.GetBuffer ();
  250. Assertion.AssertEquals ("test#01", 256, bytes.Length);
  251. Assertion.AssertEquals ("test#02", 1, bytes [0]);
  252. Assertion.AssertEquals ("test#03", 2, bytes [1]);
  253. Assertion.AssertEquals ("test#04", 3, bytes [2]);
  254. Assertion.AssertEquals ("test#05", 4, bytes [3]);
  255. Assertion.AssertEquals ("test#06", 5, bytes [4]);
  256. Assertion.AssertEquals ("test#07", 6, bytes [5]);
  257. Assertion.AssertEquals ("test#08", 6, bytes [6]);
  258. Assertion.AssertEquals ("test#09", 5, bytes [7]);
  259. Assertion.AssertEquals ("test#10", 4, bytes [8]);
  260. Assertion.AssertEquals ("test#11", 3, bytes [9]);
  261. Assertion.AssertEquals ("test#12", 2, bytes [10]);
  262. Assertion.AssertEquals ("test#13", 1, bytes [11]);
  263. Assertion.AssertEquals ("test#14", 0, bytes [12]);
  264. Assertion.AssertEquals ("test#15", 0, bytes [13]);
  265. }
  266. [Test]
  267. public void WriteInt ()
  268. {
  269. short s = 64;
  270. int i = 64646464;
  271. long l = 9999999999999;
  272. MemoryStream stream = new MemoryStream ();
  273. BinaryWriter writer = new BinaryWriter (stream);
  274. writer.Write (s);
  275. byte [] bytes;
  276. bytes = stream.GetBuffer ();
  277. Assertion.AssertEquals ("test#01", 256, bytes.Length);
  278. Assertion.AssertEquals ("test#02", 64, bytes [0]);
  279. Assertion.AssertEquals ("test#03", 0, bytes [1]);
  280. writer.Write (i);
  281. bytes = stream.GetBuffer ();
  282. Assertion.AssertEquals ("test#04", 256, bytes.Length);
  283. Assertion.AssertEquals ("test#05", 64, bytes [0]);
  284. Assertion.AssertEquals ("test#06", 0, bytes [1]);
  285. Assertion.AssertEquals ("test#07", 64, bytes [2]);
  286. Assertion.AssertEquals ("test#08", 109, bytes [3]);
  287. Assertion.AssertEquals ("test#09", 218, bytes [4]);
  288. Assertion.AssertEquals ("test#10", 3, bytes [5]);
  289. Assertion.AssertEquals ("test#11", 0, bytes [6]);
  290. writer.Write (l);
  291. bytes = stream.GetBuffer ();
  292. Assertion.AssertEquals ("test#12", 256, bytes.Length);
  293. Assertion.AssertEquals ("test#13", 255, bytes [6]);
  294. Assertion.AssertEquals ("test#14", 159, bytes [7]);
  295. Assertion.AssertEquals ("test#15", 114, bytes [8]);
  296. Assertion.AssertEquals ("test#16", 78, bytes [9]);
  297. Assertion.AssertEquals ("test#17", 24, bytes [10]);
  298. Assertion.AssertEquals ("test#18", 9, bytes [11]);
  299. Assertion.AssertEquals ("test#19", 0, bytes [12]);
  300. }
  301. [Test]
  302. public void WriteDecimal ()
  303. {
  304. MemoryStream stream = new MemoryStream ();
  305. BinaryWriter writer = new BinaryWriter (stream);
  306. decimal d1 = 19932143214312.32M;
  307. decimal d2 = -8995034512332157M;
  308. writer.Write (d1);
  309. writer.Write (d2);
  310. byte [] bytes = stream.GetBuffer ();
  311. Assertion.AssertEquals ("test#01", 256, bytes.Length);
  312. Assertion.AssertEquals ("test#02", 192, bytes [0]);
  313. Assertion.AssertEquals ("test#03", 18, bytes [1]);
  314. Assertion.AssertEquals ("test#04", 151, bytes [2]);
  315. Assertion.AssertEquals ("test#05", 95, bytes [3]);
  316. Assertion.AssertEquals ("test#06", 209, bytes [4]);
  317. Assertion.AssertEquals ("test#07", 20, bytes [5]);
  318. Assertion.AssertEquals ("test#08", 7, bytes [6]);
  319. Assertion.AssertEquals ("test#09", 0, bytes [7]);
  320. Assertion.AssertEquals ("test#10", 0, bytes [8]);
  321. Assertion.AssertEquals ("test#11", 0, bytes [9]);
  322. Assertion.AssertEquals ("test#12", 0, bytes [10]);
  323. Assertion.AssertEquals ("test#13", 0, bytes [11]);
  324. Assertion.AssertEquals ("test#14", 0, bytes [12]);
  325. Assertion.AssertEquals ("test#15", 0, bytes [13]);
  326. Assertion.AssertEquals ("test#16", 2, bytes [14]);
  327. Assertion.AssertEquals ("test#17", 0, bytes [15]);
  328. Assertion.AssertEquals ("test#18", 125, bytes [16]);
  329. Assertion.AssertEquals ("test#19", 149, bytes [17]);
  330. Assertion.AssertEquals ("test#20", 217, bytes [18]);
  331. Assertion.AssertEquals ("test#21", 172, bytes [19]);
  332. Assertion.AssertEquals ("test#22", 239, bytes [20]);
  333. Assertion.AssertEquals ("test#23", 244, bytes [21]);
  334. Assertion.AssertEquals ("test#24", 31, bytes [22]);
  335. Assertion.AssertEquals ("test#25", 0, bytes [23]);
  336. Assertion.AssertEquals ("test#26", 0, bytes [24]);
  337. Assertion.AssertEquals ("test#27", 0, bytes [25]);
  338. Assertion.AssertEquals ("test#28", 0, bytes [26]);
  339. Assertion.AssertEquals ("test#29", 0, bytes [27]);
  340. Assertion.AssertEquals ("test#30", 0, bytes [28]);
  341. Assertion.AssertEquals ("test#31", 0, bytes [29]);
  342. Assertion.AssertEquals ("test#32", 0, bytes [30]);
  343. Assertion.AssertEquals ("test#33", 128, bytes [31]);
  344. Assertion.AssertEquals ("test#34", 0, bytes [32]);
  345. Assertion.AssertEquals ("test#35", 0, bytes [33]);
  346. Assertion.AssertEquals ("test#36", 0, bytes [34]);
  347. Assertion.AssertEquals ("test#37", 0, bytes [35]);
  348. Assertion.AssertEquals ("test#38", 0, bytes [36]);
  349. Assertion.AssertEquals ("test#39", 0, bytes [37]);
  350. Assertion.AssertEquals ("test#40", 0, bytes [38]);
  351. Assertion.AssertEquals ("test#41", 0, bytes [39]);
  352. Assertion.AssertEquals ("test#42", 0, bytes [40]);
  353. Assertion.AssertEquals ("test#43", 0, bytes [41]);
  354. Assertion.AssertEquals ("test#44", 0, bytes [42]);
  355. Assertion.AssertEquals ("test#45", 0, bytes [43]);
  356. Assertion.AssertEquals ("test#46", 0, bytes [44]);
  357. Assertion.AssertEquals ("test#47", 0, bytes [45]);
  358. Assertion.AssertEquals ("test#48", 0, bytes [46]);
  359. }
  360. [Test]
  361. public void WriteFloat ()
  362. {
  363. MemoryStream stream = new MemoryStream ();
  364. BinaryWriter writer = new BinaryWriter (stream);
  365. float f1 = 1.543E+10F;
  366. float f2 = -9.6534E-6f;
  367. writer.Write (f1);
  368. writer.Write (f2);
  369. byte [] bytes = stream.GetBuffer ();
  370. Assertion.AssertEquals ("test#01", 256, bytes.Length);
  371. Assertion.AssertEquals ("test#02", 199, bytes [0]);
  372. Assertion.AssertEquals ("test#03", 236, bytes [1]);
  373. Assertion.AssertEquals ("test#04", 101, bytes [2]);
  374. Assertion.AssertEquals ("test#05", 80, bytes [3]);
  375. Assertion.AssertEquals ("test#06", 10, bytes [4]);
  376. Assertion.AssertEquals ("test#07", 245, bytes [5]);
  377. Assertion.AssertEquals ("test#08", 33, bytes [6]);
  378. Assertion.AssertEquals ("test#09", 183, bytes [7]);
  379. Assertion.AssertEquals ("test#10", 0, bytes [8]);
  380. Assertion.AssertEquals ("test#11", 0, bytes [9]);
  381. }
  382. [Test]
  383. public void WriteDouble ()
  384. {
  385. MemoryStream stream = new MemoryStream ();
  386. BinaryWriter writer = new BinaryWriter (stream);
  387. double d1 = 1.543E+100;
  388. double d2 = -9.6534E-129;
  389. writer.Write (d1);
  390. writer.Write (d2);
  391. byte [] bytes = stream.GetBuffer ();
  392. Assertion.AssertEquals ("test#01", 256, bytes.Length);
  393. Assertion.AssertEquals ("test#02", 49, bytes [0]);
  394. Assertion.AssertEquals ("test#03", 69, bytes [1]);
  395. Assertion.AssertEquals ("test#04", 15, bytes [2]);
  396. Assertion.AssertEquals ("test#05", 157, bytes [3]);
  397. Assertion.AssertEquals ("test#06", 211, bytes [4]);
  398. Assertion.AssertEquals ("test#07", 55, bytes [5]);
  399. Assertion.AssertEquals ("test#08", 188, bytes [6]);
  400. Assertion.AssertEquals ("test#09", 84, bytes [7]);
  401. Assertion.AssertEquals ("test#10", 76, bytes [8]);
  402. Assertion.AssertEquals ("test#11", 59, bytes [9]);
  403. Assertion.AssertEquals ("test#12", 59, bytes [10]);
  404. Assertion.AssertEquals ("test#13", 60, bytes [11]);
  405. Assertion.AssertEquals ("test#14", 4, bytes [12]);
  406. Assertion.AssertEquals ("test#15", 196, bytes [13]);
  407. Assertion.AssertEquals ("test#16", 90, bytes [14]);
  408. Assertion.AssertEquals ("test#17", 165, bytes [15]);
  409. Assertion.AssertEquals ("test#18", 0, bytes [16]);
  410. }
  411. [Test]
  412. public void WriteByteAndChar ()
  413. {
  414. byte b1 = 12;
  415. byte b2 = 64;
  416. char c1 = '-';
  417. char c2 = 'M';
  418. MemoryStream stream = new MemoryStream ();
  419. BinaryWriter writer = new BinaryWriter (stream);
  420. writer.Write (b1);
  421. writer.Write (c1);
  422. writer.Write (b2);
  423. writer.Write (c2);
  424. byte [] bytes = stream.GetBuffer ();
  425. Assertion.AssertEquals ("test#01", 256, bytes.Length);
  426. Assertion.AssertEquals ("test#02", 12, bytes [0]);
  427. Assertion.AssertEquals ("test#03", 45, bytes [1]);
  428. Assertion.AssertEquals ("test#04", 64, bytes [2]);
  429. Assertion.AssertEquals ("test#05", 77, bytes [3]);
  430. Assertion.AssertEquals ("test#06", 0, bytes [4]);
  431. }
  432. [Test]
  433. public void WriteString ()
  434. {
  435. MemoryStream stream = new MemoryStream ();
  436. BinaryWriter writer = new BinaryWriter (stream);
  437. string s1 = "abc";
  438. string s2 = "DeF\n";
  439. writer.Write (s1);
  440. writer.Write (s2);
  441. byte [] bytes = stream.GetBuffer ();
  442. Assertion.AssertEquals ("test#01", 256, bytes.Length);
  443. Assertion.AssertEquals ("test#02", 3, bytes [0]);
  444. Assertion.AssertEquals ("test#03", 97, bytes [1]);
  445. Assertion.AssertEquals ("test#04", 98, bytes [2]);
  446. Assertion.AssertEquals ("test#05", 99, bytes [3]);
  447. Assertion.AssertEquals ("test#06", 4, bytes [4]);
  448. Assertion.AssertEquals ("test#07", 68, bytes [5]);
  449. Assertion.AssertEquals ("test#08", 101, bytes [6]);
  450. Assertion.AssertEquals ("test#09", 70, bytes [7]);
  451. Assertion.AssertEquals ("test#10", 10, bytes [8]);
  452. Assertion.AssertEquals ("test#11", 0, bytes [9]);
  453. }
  454. private void DeleteFile (string path)
  455. {
  456. if (File.Exists (path))
  457. File.Delete (path);
  458. }
  459. }
  460. }