// ASCIIEncodingTest - NUnit Test Cases for the System.Text.ASCIIEncoding class // // Author: Mike Kestner // // 2002 Mike Kestner using NUnit.Framework; using System.Text; using System; namespace MonoTests.System.Text { public class ASCIIEncodingTest : TestCase { private char[] testchars; private byte[] testbytes; protected override void SetUp () { testchars = new char[4]; testchars[0] = 'T'; testchars[1] = 'e'; testchars[2] = 's'; testchars[3] = 't'; testbytes = new byte[4]; testbytes[0] = (byte) 'T'; testbytes[1] = (byte) 'e'; testbytes[2] = (byte) 's'; testbytes[3] = (byte) 't'; } // Test GetBytes(char[]) public void TestGetBytes1 () { Encoding ascii_encoding = Encoding.ASCII; byte[] bytes = ascii_encoding.GetBytes(testchars); for (int i = 0; i < testchars.Length; i++) AssertEquals (testchars[i], (char) bytes[i]); } // Test GetBytes(char[], int, int) public void TestGetBytes2 () { Encoding ascii_encoding = Encoding.ASCII; byte[] bytes = ascii_encoding.GetBytes(testchars, 1, 1); AssertEquals (1, bytes.Length); AssertEquals (testchars[1], (char) bytes[0]); } // Test non-ASCII char in char[] public void TestGetBytes3 () { Encoding ascii_encoding = Encoding.ASCII; testchars[2] = (char) 0x80; byte[] bytes = ascii_encoding.GetBytes(testchars); AssertEquals ('T', (char) bytes[0]); AssertEquals ('e', (char) bytes[1]); AssertEquals ('?', (char) bytes[2]); AssertEquals ('t', (char) bytes[3]); } // Test GetBytes(char[], int, int, byte[], int) public void TestGetBytes4 () { Encoding ascii_encoding = Encoding.ASCII; byte[] bytes = new Byte[1]; int cnt = ascii_encoding.GetBytes(testchars, 1, 1, bytes, 0); AssertEquals (1, cnt); AssertEquals (testchars[1], (char) bytes[0]); } // Test GetBytes(string, int, int, byte[], int) public void TestGetBytes5 () { Encoding ascii_encoding = Encoding.ASCII; byte[] bytes = new Byte[1]; int cnt = ascii_encoding.GetBytes("Test", 1, 1, bytes, 0); AssertEquals ('e', (char) bytes[0]); } // Test GetBytes(string) public void TestGetBytes6 () { Encoding ascii_encoding = Encoding.ASCII; byte[] bytes = ascii_encoding.GetBytes("Test"); for (int i = 0; i < testchars.Length; i++) AssertEquals (testchars[i], (char) bytes[i]); } // Test GetChars(byte[]) public void TestGetChars1 () { Encoding ascii_encoding = Encoding.ASCII; char[] chars = ascii_encoding.GetChars(testbytes); for (int i = 0; i < testbytes.Length; i++) AssertEquals (testbytes[i], (byte) chars[i]); } // Test GetChars(byte[], int, int) public void TestGetChars2 () { Encoding ascii_encoding = Encoding.ASCII; char[] chars = ascii_encoding.GetChars(testbytes, 1, 1); AssertEquals (1, chars.Length); AssertEquals (testbytes[1], (byte) chars[0]); } // Test non-ASCII char in byte[] public void TestGetChars3 () { Encoding ascii_encoding = Encoding.ASCII; testbytes[2] = 0x80; char[] chars = ascii_encoding.GetChars(testbytes); AssertEquals ('T', chars[0]); AssertEquals ('e', chars[1]); AssertEquals ('?', chars[2]); AssertEquals ('t', chars[3]); } // Test GetChars(byte[], int, int, char[], int) public void TestGetChars4 () { Encoding ascii_encoding = Encoding.ASCII; char[] chars = new char[1]; int cnt = ascii_encoding.GetChars(testbytes, 1, 1, chars, 0); AssertEquals (1, cnt); AssertEquals (testbytes[1], (byte) chars[0]); } // Test GetString(char[]) public void TestGetString1 () { Encoding ascii_encoding = Encoding.ASCII; string str = ascii_encoding.GetString(testbytes); AssertEquals ("Test", str); } // Test GetString(char[], int, int) public void TestGetString2 () { Encoding ascii_encoding = Encoding.ASCII; string str = ascii_encoding.GetString(testbytes, 1, 2); AssertEquals ("es", str); } // Test Decoder public void TestDecoder () { Encoding ascii_encoding = Encoding.ASCII; char[] chars = new char[1]; int cnt = ascii_encoding.GetDecoder().GetChars(testbytes, 1, 1, chars, 0); AssertEquals (1, cnt); AssertEquals (testbytes[1], (byte) chars[0]); } // Test Decoder public void TestEncoder () { Encoding ascii_encoding = Encoding.ASCII; byte[] bytes = new Byte[1]; int cnt = ascii_encoding.GetEncoder().GetBytes(testchars, 1, 1, bytes, 0, false); AssertEquals (1, cnt); AssertEquals (testchars[1], (char) bytes[0]); } public void TestZero () { Encoding encoding = Encoding.ASCII; AssertEquals ("#01", encoding.GetString (new byte [0]), ""); AssertEquals ("#02", encoding.GetString (new byte [0], 0, 0), ""); } } }