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 019package org.apache.commons.codec.binary; 020 021import static org.junit.Assert.assertFalse; 022import static org.junit.Assert.assertNotNull; 023import static org.junit.Assert.assertTrue; 024 025import org.junit.Before; 026import org.junit.Test; 027 028public 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}