001 /*
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements. See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License. You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 *
017 */
018
019 package org.apache.commons.codec.binary;
020
021 import static org.junit.Assert.assertFalse;
022 import static org.junit.Assert.assertNotNull;
023 import static org.junit.Assert.assertTrue;
024
025 import org.junit.Before;
026 import org.junit.Test;
027
028 public class BaseNCodecTest {
029
030 BaseNCodec codec;
031
032 @Before
033 public void setUp() {
034 codec = new BaseNCodec(0, 0, 0, 0) {
035 @Override
036 protected boolean isInAlphabet(final byte b) {
037 return b=='O' || b == 'K'; // allow OK
038 }
039
040 @Override
041 void encode(final byte[] pArray, final int i, final int length, final Context context) {
042 }
043
044 @Override
045 void decode(final byte[] pArray, final int i, final int length, final Context context) {
046 }
047 };
048 }
049
050 @Test
051 public void testBaseNCodec() {
052 assertNotNull(codec);
053 }
054
055 // @Test
056 // public void testHasData() {
057 // fail("Not yet implemented");
058 // }
059 //
060 // @Test
061 // public void testAvail() {
062 // fail("Not yet implemented");
063 // }
064 //
065 // @Test
066 // public void testEnsureBufferSize() {
067 // fail("Not yet implemented");
068 // }
069 //
070 // @Test
071 // public void testReadResults() {
072 // fail("Not yet implemented");
073 // }
074 //
075 @Test
076 public void testIsWhiteSpace() {
077 assertTrue(BaseNCodec.isWhiteSpace((byte) ' '));
078 assertTrue(BaseNCodec.isWhiteSpace((byte) '\n'));
079 assertTrue(BaseNCodec.isWhiteSpace((byte) '\r'));
080 assertTrue(BaseNCodec.isWhiteSpace((byte) '\t'));
081 }
082 //
083 // @Test
084 // public void testEncodeObject() {
085 // fail("Not yet implemented");
086 // }
087 //
088 // @Test
089 // public void testEncodeToString() {
090 // fail("Not yet implemented");
091 // }
092 //
093 // @Test
094 // public void testDecodeObject() {
095 // fail("Not yet implemented");
096 // }
097 //
098 // @Test
099 // public void testDecodeString() {
100 // fail("Not yet implemented");
101 // }
102 //
103 // @Test
104 // public void testDecodeByteArray() {
105 // fail("Not yet implemented");
106 // }
107 //
108 // @Test
109 // public void testEncodeByteArray() {
110 // fail("Not yet implemented");
111 // }
112 //
113 // @Test
114 // public void testEncodeAsString() {
115 // fail("Not yet implemented");
116 // }
117 //
118 // @Test
119 // public void testEncodeByteArrayIntInt() {
120 // fail("Not yet implemented");
121 // }
122 //
123 // @Test
124 // public void testDecodeByteArrayIntInt() {
125 // fail("Not yet implemented");
126 // }
127 //
128 @Test
129 public void testIsInAlphabetByte() {
130 assertFalse(codec.isInAlphabet((byte) 0));
131 assertFalse(codec.isInAlphabet((byte) 'a'));
132 assertTrue(codec.isInAlphabet((byte) 'O'));
133 assertTrue(codec.isInAlphabet((byte) 'K'));
134 }
135
136 @Test
137 public void testIsInAlphabetByteArrayBoolean() {
138 assertTrue(codec.isInAlphabet(new byte[]{}, false));
139 assertTrue(codec.isInAlphabet(new byte[]{'O'}, false));
140 assertFalse(codec.isInAlphabet(new byte[]{'O',' '}, false));
141 assertFalse(codec.isInAlphabet(new byte[]{' '}, false));
142 assertTrue(codec.isInAlphabet(new byte[]{}, true));
143 assertTrue(codec.isInAlphabet(new byte[]{'O'}, true));
144 assertTrue(codec.isInAlphabet(new byte[]{'O',' '}, true));
145 assertTrue(codec.isInAlphabet(new byte[]{' '}, true));
146 }
147
148 @Test
149 public void testIsInAlphabetString() {
150 assertTrue(codec.isInAlphabet("OK"));
151 assertTrue(codec.isInAlphabet("O=K= \t\n\r"));
152 }
153
154 @Test
155 public void testContainsAlphabetOrPad() {
156 assertFalse(codec.containsAlphabetOrPad(null));
157 assertFalse(codec.containsAlphabetOrPad(new byte[]{}));
158 assertTrue(codec.containsAlphabetOrPad("OK".getBytes()));
159 assertTrue(codec.containsAlphabetOrPad("OK ".getBytes()));
160 assertFalse(codec.containsAlphabetOrPad("ok ".getBytes()));
161 assertTrue(codec.containsAlphabetOrPad(new byte[]{codec.PAD}));
162 }
163
164 // @Test
165 // public void testGetEncodedLength() {
166 // fail("Not yet implemented");
167 // }
168 }