package org.postgresql.test.jdbc2; import junit.framework.*; import org.postgresql.core.Encoding; /** * Tests for the Encoding class. * * $Id$ */ public class EncodingTest extends TestCase { public EncodingTest(String name) { super(name); } public void testCreation() throws Exception { Encoding encoding; encoding = Encoding.forDatabaseEncoding("UNICODE"); assertEquals("UTF", encoding.name().substring(0, 3).toUpperCase()); encoding = Encoding.forDatabaseEncoding("SQL_ASCII"); assert(encoding.name().toUpperCase().indexOf("ASCII") != -1); assertEquals(Encoding.defaultEncoding(), Encoding.forDatabaseEncoding("UNKNOWN")); } public void testTransformations() throws Exception { Encoding encoding = Encoding.forDatabaseEncoding("UNICODE"); assertEquals("ab", encoding.decode(new byte[] { 97, 98 })); assertEquals(2, encoding.encode("ab").length); assertEquals(97, encoding.encode("a")[0]); assertEquals(98, encoding.encode("b")[0]); encoding = Encoding.defaultEncoding(); assertEquals("a".getBytes()[0], encoding.encode("a")[0]); assertEquals(new String(new byte[] { 97 }), encoding.decode(new byte[] { 97 })); } }