File: TextWriterTest.cs

package info (click to toggle)
mono 6.14.1%2Bds2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,282,732 kB
  • sloc: cs: 11,182,461; xml: 2,850,281; ansic: 699,123; cpp: 122,919; perl: 58,604; javascript: 30,841; asm: 21,845; makefile: 19,602; sh: 10,973; python: 4,772; pascal: 925; sql: 859; sed: 16; php: 1
file content (75 lines) | stat: -rw-r--r-- 1,375 bytes parent folder | download | duplicates (5)
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
	{
		class MyTextWriter : TextWriter
		{
			public override Encoding Encoding { get { return Encoding.Default; } }

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

			public void UpdateLine ()
			{
				NewLine = "Z";
			}

			public void UpdateLine2 ()
			{
				NewLine = "Y";
			}
		}

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

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

			w.UpdateLine2 ();
			Assert.AreEqual ('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'});
			Assert.AreEqual (true, x.called_array);			
		}
	}
}