File: TextWriterTest.cs

package info (click to toggle)
mono 1.2.2.1-1
  • links: PTS
  • area: main
  • in suites: etch-m68k
  • size: 142,728 kB
  • ctags: 256,408
  • sloc: cs: 1,495,736; ansic: 249,442; sh: 18,304; xml: 12,463; makefile: 5,046; perl: 1,248; asm: 635; yacc: 285; sql: 7
file content (75 lines) | stat: -rw-r--r-- 1,401 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
//
// TextWriterTest.cs
//
// Author: 
//	Atsushi Enomoto <atsushi@ximian.com>
//
// Copyright (C) 2004 Novell (http://www.novell.com)
//

using System;
using System.Globalization;
using System.IO;
using System.Text;
using NUnit.Framework;

namespace MonoTests.System.IO
{
	[TestFixture]
	public class TextWriterTest : Assertion
	{
		class MyTextWriter : TextWriter
		{
			public override Encoding Encoding { get { return Encoding.Default; } }

			internal MyTextWriter ()
				: base (CultureInfo.InvariantCulture)
			{
			}

			public void UpdateLine ()
			{
				CoreNewLine = new char [] {'Z'};
			}

			public void UpdateLine2 ()
			{
				CoreNewLine [0] = 'Y';
			}
		}

		[Test]
		public void CoreNewLine ()
		{
			MyTextWriter w = new MyTextWriter ();
			AssertNotNull (w.NewLine);

			w.UpdateLine ();
			AssertEquals ('Z', w.NewLine [0]);

			w.UpdateLine2 ();
			AssertEquals ('Y', w.NewLine [0]);
		}

		class ArrayOrCharTester : TextWriter {
			public bool called_array;
			public override Encoding Encoding { get { return Encoding.UTF8; }}

			public override void Write (char [] x, int a, int b)
			{
				called_array = true;
			}
			public override void Write (char c)
			{
			}
		}

		[Test]
		public void TestCharArrayCallsArrayIntInt ()
		{
			ArrayOrCharTester x = new ArrayOrCharTester ();
			x.Write (new char [] {'a','b','c'});
			AssertEquals (true, x.called_array);			
		}
	}
}