Got nunit tests running in windows. Reorganized Test case directories.
[mono.git] / mcs / class / corlib / Test / System.IO / StringReaderTest.cs
1 //\r
2 // System.IO.StringWriter\r
3 //\r
4 // Author: Marcin Szczepanski (marcins@zipworld.com.au)\r
5 //\r
6 // TODO: Add some testing for exceptions\r
7 //\r
8 // TODO: Some of the tests could be a bit more thorough\r
9 //\r
10 \r
11 using NUnit.Framework;\r
12 using System.IO;\r
13 using System;\r
14 \r
15 namespace MonoTests.System.IO {\r
16 \r
17 public class StringReaderTest : TestCase {\r
18         \r
19         public static ITest Suite {\r
20                 get {\r
21                         return new TestSuite(typeof(StringReaderTest));\r
22                 }\r
23         }\r
24 \r
25         public StringReaderTest( string name ): base(name) { }\r
26 \r
27         public void TestPeekRead() {\r
28                 StringReader reader = new StringReader( "Test String" );\r
29 \r
30                 int c = reader.Peek();\r
31                 AssertEquals( c, 'T' );\r
32 \r
33                 int read = reader.Read();\r
34 \r
35                 AssertEquals( read, 'T' );\r
36                 \r
37                 c = reader.Peek();\r
38 \r
39                 AssertEquals( c, 'e' );\r
40         }\r
41 \r
42         public void TestRead() {\r
43                 StringReader reader = new StringReader( "Test String" );\r
44 \r
45                 /* Read from start of string */\r
46                 char[] test = new char[5];\r
47                 \r
48                 int charsRead = reader.Read( test, 0, 5 );\r
49 \r
50                 AssertEquals( 5, charsRead );\r
51                 AssertEquals( "Test ", new String(test)  );\r
52 \r
53                 /* Read to end of string */\r
54                 //reader = new StringReader( "Test String" );\r
55                 \r
56                 test = new char[6];\r
57                 charsRead = reader.Read( test, 0, 6 );\r
58                 AssertEquals( 6, charsRead);\r
59                 AssertEquals( "String", new String( test )  );\r
60 \r
61                 /* Read past end of string */\r
62 \r
63                 test = new char[6];\r
64                 reader = new StringReader( "Foo" );\r
65                 charsRead = reader.Read( test, 0, 6 );\r
66                 AssertEquals( 3, charsRead );\r
67                 AssertEquals(  "Foo\0\0\0", new String( test ) );\r
68 \r
69         }\r
70 \r
71         public void TestReadEOL() {\r
72                 StringReader reader = new StringReader( "Line1\rLine2\r\nLine3\nLine4" );\r
73 \r
74                 string test = reader.ReadLine();\r
75 \r
76                 AssertEquals( "Line1", test );\r
77 \r
78                 test = reader.ReadLine();\r
79 \r
80                 AssertEquals( "Line2", test );\r
81 \r
82                 test = reader.ReadLine();\r
83 \r
84                 AssertEquals( "Line3", test );\r
85 \r
86                 test = reader.ReadLine();\r
87 \r
88                 AssertEquals( "Line4", test );\r
89         }\r
90 }\r
91         \r
92 }\r