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 */ 017package org.apache.commons.collections.primitives.adapters; 018 019import java.util.ArrayList; 020import java.util.Collection; 021import java.util.Iterator; 022import java.util.List; 023import java.util.ListIterator; 024 025import junit.framework.Test; 026import junit.framework.TestCase; 027import junit.framework.TestSuite; 028 029import org.apache.commons.collections.primitives.ArrayByteList; 030import org.apache.commons.collections.primitives.ArrayCharList; 031import org.apache.commons.collections.primitives.ArrayDoubleList; 032import org.apache.commons.collections.primitives.ArrayFloatList; 033import org.apache.commons.collections.primitives.ArrayIntList; 034import org.apache.commons.collections.primitives.ArrayLongList; 035import org.apache.commons.collections.primitives.ArrayShortList; 036import org.apache.commons.collections.primitives.ByteCollection; 037import org.apache.commons.collections.primitives.ByteIterator; 038import org.apache.commons.collections.primitives.ByteList; 039import org.apache.commons.collections.primitives.ByteListIterator; 040import org.apache.commons.collections.primitives.CharCollection; 041import org.apache.commons.collections.primitives.CharIterator; 042import org.apache.commons.collections.primitives.CharList; 043import org.apache.commons.collections.primitives.CharListIterator; 044import org.apache.commons.collections.primitives.DoubleCollection; 045import org.apache.commons.collections.primitives.DoubleIterator; 046import org.apache.commons.collections.primitives.DoubleList; 047import org.apache.commons.collections.primitives.DoubleListIterator; 048import org.apache.commons.collections.primitives.FloatCollection; 049import org.apache.commons.collections.primitives.FloatIterator; 050import org.apache.commons.collections.primitives.FloatList; 051import org.apache.commons.collections.primitives.FloatListIterator; 052import org.apache.commons.collections.primitives.IntCollection; 053import org.apache.commons.collections.primitives.IntIterator; 054import org.apache.commons.collections.primitives.IntList; 055import org.apache.commons.collections.primitives.IntListIterator; 056import org.apache.commons.collections.primitives.LongCollection; 057import org.apache.commons.collections.primitives.LongIterator; 058import org.apache.commons.collections.primitives.LongList; 059import org.apache.commons.collections.primitives.LongListIterator; 060import org.apache.commons.collections.primitives.ShortCollection; 061import org.apache.commons.collections.primitives.ShortIterator; 062import org.apache.commons.collections.primitives.ShortList; 063import org.apache.commons.collections.primitives.ShortListIterator; 064 065/** 066 * @version $Revision: 480451 $ $Date: 2006-11-29 02:45:08 -0500 (Wed, 29 Nov 2006) $ 067 * @author Rodney Waldhoff 068 */ 069public class TestAdapt extends TestCase { 070 071 // conventional 072 // ------------------------------------------------------------------------ 073 074 public TestAdapt(String testName) { 075 super(testName); 076 } 077 078 public static Test suite() { 079 return new TestSuite(TestAdapt.class); 080 } 081 082 // tests 083 // ------------------------------------------------------------------------ 084 085 public void testHasPublicConstructorForReflectionBasedAPIs() { 086 assertNotNull(new Adapt()); 087 } 088 089 // to object based 090 //--------------------------------------------------------------- 091 092 public void testToCollection() { 093 assertNull(Adapt.toCollection((ArrayByteList)null)); 094 assertTrue(Adapt.toCollection(new ArrayByteList()) instanceof Collection); 095 assertNull(Adapt.toCollection((ArrayCharList)null)); 096 assertTrue(Adapt.toCollection(new ArrayCharList()) instanceof Collection); 097 assertNull(Adapt.toCollection((ArrayDoubleList)null)); 098 assertTrue(Adapt.toCollection(new ArrayDoubleList()) instanceof Collection); 099 assertNull(Adapt.toCollection((ArrayFloatList)null)); 100 assertTrue(Adapt.toCollection(new ArrayFloatList()) instanceof Collection); 101 assertNull(Adapt.toCollection((ArrayIntList)null)); 102 assertTrue(Adapt.toCollection(new ArrayIntList()) instanceof Collection); 103 assertNull(Adapt.toCollection((ArrayLongList)null)); 104 assertTrue(Adapt.toCollection(new ArrayLongList()) instanceof Collection); 105 assertNull(Adapt.toCollection((ArrayShortList)null)); 106 assertTrue(Adapt.toCollection(new ArrayShortList()) instanceof Collection); 107 } 108 109 public void testToList() { 110 assertNull(Adapt.toList((ArrayByteList)null)); 111 assertTrue(Adapt.toList(new ArrayByteList()) instanceof List); 112 assertNull(Adapt.toList((ArrayCharList)null)); 113 assertTrue(Adapt.toList(new ArrayCharList()) instanceof List); 114 assertNull(Adapt.toList((ArrayDoubleList)null)); 115 assertTrue(Adapt.toList(new ArrayDoubleList()) instanceof List); 116 assertNull(Adapt.toList((ArrayFloatList)null)); 117 assertTrue(Adapt.toList(new ArrayFloatList()) instanceof List); 118 assertNull(Adapt.toList((ArrayIntList)null)); 119 assertTrue(Adapt.toList(new ArrayIntList()) instanceof List); 120 assertNull(Adapt.toList((ArrayLongList)null)); 121 assertTrue(Adapt.toList(new ArrayLongList()) instanceof List); 122 assertNull(Adapt.toList((ArrayShortList)null)); 123 assertTrue(Adapt.toList(new ArrayShortList()) instanceof List); 124 } 125 126 public void testToIterator() { 127 assertNull(Adapt.toIterator((ByteIterator)null)); 128 assertTrue(Adapt.toIterator(new ArrayByteList().iterator()) instanceof Iterator); 129 assertNull(Adapt.toIterator((CharIterator)null)); 130 assertTrue(Adapt.toIterator(new ArrayCharList().iterator()) instanceof Iterator); 131 assertNull(Adapt.toIterator((DoubleIterator)null)); 132 assertTrue(Adapt.toIterator(new ArrayDoubleList().iterator()) instanceof Iterator); 133 assertNull(Adapt.toIterator((FloatIterator)null)); 134 assertTrue(Adapt.toIterator(new ArrayFloatList().iterator()) instanceof Iterator); 135 assertNull(Adapt.toIterator((IntIterator)null)); 136 assertTrue(Adapt.toIterator(new ArrayIntList().iterator()) instanceof Iterator); 137 assertNull(Adapt.toIterator((LongIterator)null)); 138 assertTrue(Adapt.toIterator(new ArrayLongList().iterator()) instanceof Iterator); 139 assertNull(Adapt.toIterator((ShortIterator)null)); 140 assertTrue(Adapt.toIterator(new ArrayShortList().iterator()) instanceof Iterator); 141 } 142 143 public void testToListIterator() { 144 assertNull(Adapt.toListIterator((ByteListIterator)null)); 145 assertTrue(Adapt.toListIterator(new ArrayByteList().listIterator()) instanceof ListIterator); 146 assertNull(Adapt.toListIterator((CharListIterator)null)); 147 assertTrue(Adapt.toListIterator(new ArrayCharList().listIterator()) instanceof ListIterator); 148 assertNull(Adapt.toListIterator((DoubleListIterator)null)); 149 assertTrue(Adapt.toListIterator(new ArrayDoubleList().listIterator()) instanceof ListIterator); 150 assertNull(Adapt.toListIterator((FloatListIterator)null)); 151 assertTrue(Adapt.toListIterator(new ArrayFloatList().listIterator()) instanceof ListIterator); 152 assertNull(Adapt.toListIterator((IntListIterator)null)); 153 assertTrue(Adapt.toListIterator(new ArrayIntList().listIterator()) instanceof ListIterator); 154 assertNull(Adapt.toListIterator((LongListIterator)null)); 155 assertTrue(Adapt.toListIterator(new ArrayLongList().listIterator()) instanceof ListIterator); 156 assertNull(Adapt.toListIterator((ShortListIterator)null)); 157 assertTrue(Adapt.toListIterator(new ArrayShortList().listIterator()) instanceof ListIterator); 158 } 159 160 // to byte based 161 //--------------------------------------------------------------- 162 163 public void testToByteType() { 164 assertTrue(Adapt.toByteCollection(new ArrayList()) instanceof ByteCollection); 165 assertTrue(Adapt.toByteList(new ArrayList()) instanceof ByteList); 166 assertTrue(Adapt.toByteIterator(new ArrayList().iterator()) instanceof ByteIterator); 167 assertTrue(Adapt.toByteListIterator(new ArrayList().listIterator()) instanceof ByteListIterator); 168 } 169 170 public void testToByteTypeFromNull() { 171 assertNull(Adapt.toByteCollection(null)); 172 assertNull(Adapt.toByteList(null)); 173 assertNull(Adapt.toByteIterator(null)); 174 assertNull(Adapt.toByteListIterator(null)); 175 } 176 177 // to char based 178 //--------------------------------------------------------------- 179 180 public void testToCharType() { 181 assertTrue(Adapt.toCharCollection(new ArrayList()) instanceof CharCollection); 182 assertTrue(Adapt.toCharList(new ArrayList()) instanceof CharList); 183 assertTrue(Adapt.toCharIterator(new ArrayList().iterator()) instanceof CharIterator); 184 assertTrue(Adapt.toCharListIterator(new ArrayList().listIterator()) instanceof CharListIterator); 185 } 186 187 public void testToCharTypeFromNull() { 188 assertNull(Adapt.toCharCollection(null)); 189 assertNull(Adapt.toCharList(null)); 190 assertNull(Adapt.toCharIterator(null)); 191 assertNull(Adapt.toCharListIterator(null)); 192 } 193 194 // to double based 195 //--------------------------------------------------------------- 196 197 public void testToDoubleType() { 198 assertTrue(Adapt.toDoubleCollection(new ArrayList()) instanceof DoubleCollection); 199 assertTrue(Adapt.toDoubleList(new ArrayList()) instanceof DoubleList); 200 assertTrue(Adapt.toDoubleIterator(new ArrayList().iterator()) instanceof DoubleIterator); 201 assertTrue(Adapt.toDoubleListIterator(new ArrayList().listIterator()) instanceof DoubleListIterator); 202 } 203 204 public void testToDoubleTypeFromNull() { 205 assertNull(Adapt.toDoubleCollection(null)); 206 assertNull(Adapt.toDoubleList(null)); 207 assertNull(Adapt.toDoubleIterator(null)); 208 assertNull(Adapt.toDoubleListIterator(null)); 209 } 210 211 // to float based 212 //--------------------------------------------------------------- 213 214 public void testToFloatType() { 215 assertTrue(Adapt.toFloatCollection(new ArrayList()) instanceof FloatCollection); 216 assertTrue(Adapt.toFloatList(new ArrayList()) instanceof FloatList); 217 assertTrue(Adapt.toFloatIterator(new ArrayList().iterator()) instanceof FloatIterator); 218 assertTrue(Adapt.toFloatListIterator(new ArrayList().listIterator()) instanceof FloatListIterator); 219 } 220 221 public void testToFloatTypeFromNull() { 222 assertNull(Adapt.toFloatCollection(null)); 223 assertNull(Adapt.toFloatList(null)); 224 assertNull(Adapt.toFloatIterator(null)); 225 assertNull(Adapt.toFloatListIterator(null)); 226 } 227 228 // to int based 229 //--------------------------------------------------------------- 230 231 public void testToIntType() { 232 assertTrue(Adapt.toIntCollection(new ArrayList()) instanceof IntCollection); 233 assertTrue(Adapt.toIntList(new ArrayList()) instanceof IntList); 234 assertTrue(Adapt.toIntIterator(new ArrayList().iterator()) instanceof IntIterator); 235 assertTrue(Adapt.toIntListIterator(new ArrayList().listIterator()) instanceof IntListIterator); 236 } 237 238 public void testToIntTypeFromNull() { 239 assertNull(Adapt.toIntCollection(null)); 240 assertNull(Adapt.toIntList(null)); 241 assertNull(Adapt.toIntIterator(null)); 242 assertNull(Adapt.toIntListIterator(null)); 243 } 244 245 // to long based 246 //--------------------------------------------------------------- 247 248 public void testToLongType() { 249 assertTrue(Adapt.toLongCollection(new ArrayList()) instanceof LongCollection); 250 assertTrue(Adapt.toLongList(new ArrayList()) instanceof LongList); 251 assertTrue(Adapt.toLongIterator(new ArrayList().iterator()) instanceof LongIterator); 252 assertTrue(Adapt.toLongListIterator(new ArrayList().listIterator()) instanceof LongListIterator); 253 } 254 255 public void testToLongTypeFromNull() { 256 assertNull(Adapt.toLongCollection(null)); 257 assertNull(Adapt.toLongList(null)); 258 assertNull(Adapt.toLongIterator(null)); 259 assertNull(Adapt.toLongListIterator(null)); 260 } 261 262 // to short based 263 //--------------------------------------------------------------- 264 265 public void testToShortType() { 266 assertTrue(Adapt.toShortCollection(new ArrayList()) instanceof ShortCollection); 267 assertTrue(Adapt.toShortList(new ArrayList()) instanceof ShortList); 268 assertTrue(Adapt.toShortIterator(new ArrayList().iterator()) instanceof ShortIterator); 269 assertTrue(Adapt.toShortListIterator(new ArrayList().listIterator()) instanceof ShortListIterator); 270 } 271 272 public void testToShortTypeFromNull() { 273 assertNull(Adapt.toShortCollection(null)); 274 assertNull(Adapt.toShortList(null)); 275 assertNull(Adapt.toShortIterator(null)); 276 assertNull(Adapt.toShortListIterator(null)); 277 } 278}