StringReaderTest.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. //
  2. // System.IO.StringWriter
  3. //
  4. // Author: Marcin Szczepanski ([email protected])
  5. //
  6. // TODO: Add some testing for exceptions
  7. //
  8. // TODO: Some of the tests could be a bit more thorough
  9. //
  10. using NUnit.Framework;
  11. using System.IO;
  12. using System;
  13. namespace MonoTests.System.IO {
  14. public class StringReaderTest : TestCase {
  15. public static ITest Suite {
  16. get {
  17. return new TestSuite(typeof(StringReaderTest));
  18. }
  19. }
  20. public StringReaderTest() : base ("MonoTests.System.IO.StringReaderTest testcase") { }
  21. public StringReaderTest( string name ): base(name) { }
  22. public void TestPeekRead() {
  23. StringReader reader = new StringReader( "Test String" );
  24. char c = (char)reader.Peek();
  25. AssertEquals("A1", 'T', c );
  26. char read = (char)reader.Read();
  27. AssertEquals("A2", 'T', read );
  28. c = (char)reader.Peek();
  29. AssertEquals("A3", 'e', c );
  30. }
  31. public void TestRead() {
  32. StringReader reader = new StringReader( "Test String" );
  33. /* Read from start of string */
  34. char[] test = new char[5];
  35. int charsRead = reader.Read( test, 0, 5 );
  36. AssertEquals( 5, charsRead );
  37. AssertEquals( "Test ", new String(test) );
  38. /* Read to end of string */
  39. //reader = new StringReader( "Test String" );
  40. test = new char[6];
  41. charsRead = reader.Read( test, 0, 6 );
  42. AssertEquals( 6, charsRead);
  43. AssertEquals( "String", new String( test ) );
  44. /* Read past end of string */
  45. test = new char[6];
  46. reader = new StringReader( "Foo" );
  47. charsRead = reader.Read( test, 0, 6 );
  48. AssertEquals( 3, charsRead );
  49. AssertEquals( "Foo\0\0\0", new String( test ) );
  50. }
  51. public void TestReadEOL() {
  52. StringReader reader = new StringReader( "Line1\rLine2\r\nLine3\nLine4" );
  53. string test = reader.ReadLine();
  54. AssertEquals( "Line1", test );
  55. test = reader.ReadLine();
  56. AssertEquals( "Line2", test );
  57. test = reader.ReadLine();
  58. AssertEquals( "Line3", test );
  59. test = reader.ReadLine();
  60. AssertEquals( "Line4", test );
  61. }
  62. }
  63. }