1 /* 2 * Copyright (C) The JContainer Group. All rights reserved. 3 * 4 * This software is published under the terms of the JContainer 5 * Software License version 1.1, a copy of which has been included 6 * with this distribution in the LICENSE.txt file. 7 */ 8 package org.jcontainer.dna.impl; 9 10 import junit.framework.TestCase; 11 import org.jcontainer.dna.ParameterException; 12 import org.jcontainer.dna.Parameters; 13 14 public class DefaultParametersTestCase 15 extends TestCase 16 { 17 public void testGetParameter() 18 throws Exception 19 { 20 final DefaultParameters parameters = new DefaultParameters(); 21 final String name = "key"; 22 final String value = "value"; 23 parameters.setParameter( name, value ); 24 assertEquals( "parameters.isParameter( name )", 25 true, 26 parameters.isParameter( name ) ); 27 assertEquals( "parameters.getParameter( name, 'blah' )", 28 value, 29 parameters.getParameter( name, "blah" ) ); 30 assertEquals( "parameters.getParameter( name )", 31 value, 32 parameters.getParameter( name ) ); 33 } 34 35 public void testGetMissingParameter() 36 throws Exception 37 { 38 final DefaultParameters parameters = new DefaultParameters(); 39 final String name = "key"; 40 assertEquals( "parameters.isParameter( name )", 41 false, 42 parameters.isParameter( name ) ); 43 assertEquals( "parameters.getParameter( name, 'blah' )", 44 "blah", 45 parameters.getParameter( name, "blah" ) ); 46 try 47 { 48 parameters.getParameter( name ); 49 fail( "Expected getParameter on non existent parameter to fail" ); 50 } 51 catch( ParameterException e ) 52 { 53 54 } 55 } 56 57 public void testGetParameterNames() 58 throws Exception 59 { 60 final DefaultParameters parameters = new DefaultParameters(); 61 final String name = "key"; 62 final String value = "value"; 63 parameters.setParameter( name, value ); 64 final String[] names = parameters.getParameterNames(); 65 66 assertEquals( "names.length", 1, names.length ); 67 assertEquals( "names[0]", name, names[ 0 ] ); 68 } 69 70 public void testGetParameterWithNullName() 71 throws Exception 72 { 73 final DefaultParameters parameters = new DefaultParameters(); 74 try 75 { 76 parameters.getParameter( null ); 77 } 78 catch( NullPointerException npe ) 79 { 80 assertEquals( "name", npe.getMessage() ); 81 return; 82 } 83 fail( "Expected getParameter(null) to fail due to passing null " ); 84 } 85 86 public void testGetParameterWDefaultWithNullName() 87 throws Exception 88 { 89 final DefaultParameters parameters = new DefaultParameters(); 90 try 91 { 92 parameters.getParameter( null, "blah" ); 93 } 94 catch( NullPointerException npe ) 95 { 96 assertEquals( "name", npe.getMessage() ); 97 return; 98 } 99 fail( "Expected getParameter(null,'blah') to fail due to passing null " ); 100 } 101 102 public void testsetParameterWithNullName() 103 throws Exception 104 { 105 final DefaultParameters parameters = new DefaultParameters(); 106 try 107 { 108 parameters.setParameter( null, "blah" ); 109 } 110 catch( NullPointerException npe ) 111 { 112 assertEquals( "name", npe.getMessage() ); 113 return; 114 } 115 fail( "Expected setParameter(null,'blah') to fail due to passing null " ); 116 } 117 118 public void testsetParameterWithNullValue() 119 throws Exception 120 { 121 final DefaultParameters parameters = new DefaultParameters(); 122 try 123 { 124 parameters.setParameter( "blah", null ); 125 } 126 catch( NullPointerException npe ) 127 { 128 assertEquals( "value", npe.getMessage() ); 129 return; 130 } 131 fail( "Expected setParameter('blah',null) to fail due to passing null " ); 132 } 133 134 public void testNullPassedIntoCtor() 135 throws Exception 136 { 137 try 138 { 139 new DefaultParameters( null ); 140 } 141 catch( NullPointerException npe ) 142 { 143 assertEquals( "prefix", npe.getMessage() ); 144 return; 145 } 146 fail( "Expected to fail due to passing null " ); 147 } 148 149 public void testGetParameterAsBoolean() 150 throws Exception 151 { 152 final DefaultParameters parameters = new DefaultParameters(); 153 final String name = "key"; 154 final String value = "true"; 155 parameters.setParameter( name, value ); 156 assertEquals( "parameters.getParameterAsBoolean( name, false )", 157 true, 158 parameters.getParameterAsBoolean( name, false ) ); 159 assertEquals( "parameters.getParameterAsBoolean( name )", 160 true, 161 parameters.getParameterAsBoolean( name ) ); 162 } 163 164 public void testGetParameterAsInteger() 165 throws Exception 166 { 167 final DefaultParameters parameters = new DefaultParameters(); 168 final String name = "key"; 169 final String value = "1"; 170 parameters.setParameter( name, value ); 171 assertEquals( "parameters.getParameterAsInteger( name, 3 )", 172 1, 173 parameters.getParameterAsInteger( name, 3 ) ); 174 assertEquals( "parameters.getParameterAsInteger( name )", 175 1, 176 parameters.getParameterAsInteger( name ) ); 177 } 178 179 public void testGetParameterAsIntegerWithMalformedValue() 180 throws Exception 181 { 182 final DefaultParameters parameters = new DefaultParameters(); 183 final String name = "key"; 184 final String value = "a"; 185 parameters.setParameter( name, value ); 186 assertEquals( "parameters.getParameterAsInteger( name, 3 )", 187 3, 188 parameters.getParameterAsInteger( name, 3 ) ); 189 try 190 { 191 parameters.getParameterAsInteger( name ); 192 } 193 catch( ParameterException e ) 194 { 195 return; 196 } 197 fail( "Expected to fail as parameter is malformed" ); 198 } 199 200 public void testGetParameterAsLong() 201 throws Exception 202 { 203 final DefaultParameters parameters = new DefaultParameters(); 204 final String name = "key"; 205 final String value = "1"; 206 parameters.setParameter( name, value ); 207 assertEquals( "parameters.getParameterAsLong( name, 3 )", 208 1, 209 parameters.getParameterAsLong( name, 3 ) ); 210 assertEquals( "parameters.getParameterAsLong( name )", 211 1, 212 parameters.getParameterAsLong( name ) ); 213 } 214 215 public void testGetParameterAsLongWithMalformedValue() 216 throws Exception 217 { 218 final DefaultParameters parameters = new DefaultParameters(); 219 final String name = "key"; 220 final String value = "a"; 221 parameters.setParameter( name, value ); 222 assertEquals( "parameters.getParameterAsInteger( name, 3 )", 223 3, 224 parameters.getParameterAsLong( name, 3 ) ); 225 try 226 { 227 parameters.getParameterAsLong( name ); 228 } 229 catch( ParameterException e ) 230 { 231 return; 232 } 233 fail( "Expected to fail as parameter is malformed" ); 234 } 235 236 public void testGetParameterAsFloat() 237 throws Exception 238 { 239 final DefaultParameters parameters = new DefaultParameters(); 240 final String name = "key"; 241 final String value = "1.0"; 242 parameters.setParameter( name, value ); 243 assertTrue( "parameters.getParameterAsFloat( name, 3 )", 244 1.0 == parameters.getParameterAsFloat( name, 3 ) ); 245 assertTrue( "parameters.getParameterAsFloat( name )", 246 1.0 == parameters.getParameterAsFloat( name ) ); 247 } 248 249 public void testGetParameterAsFloatWithMalformedValue() 250 throws Exception 251 { 252 final DefaultParameters parameters = new DefaultParameters(); 253 final String name = "key"; 254 final String value = "a"; 255 parameters.setParameter( name, value ); 256 assertTrue( "parameters.getParameterAsFloat( name, 3 )", 257 3.0 == parameters.getParameterAsFloat( name, 3 ) ); 258 try 259 { 260 parameters.getParameterAsFloat( name ); 261 } 262 catch( ParameterException e ) 263 { 264 return; 265 } 266 fail( "Expected to fail as parameter is malformed" ); 267 } 268 269 public void testGetChildParametersWithZeroEntries() 270 throws Exception 271 { 272 final DefaultParameters parameters = new DefaultParameters(); 273 final String name = "key"; 274 final String value = "a"; 275 parameters.setParameter( name, value ); 276 final Parameters childParameters = 277 parameters.getChildParameters( "noexist" ); 278 279 assertEquals( "childParameters.length", 280 0, childParameters.getParameterNames().length ); 281 } 282 283 public void testGetChildParametersWithSplitEntries() 284 throws Exception 285 { 286 final DefaultParameters parameters = new DefaultParameters(); 287 parameters.setParameter( "var", "a" ); 288 parameters.setParameter( "var.s", "b" ); 289 final DefaultParameters childParameters = 290 (DefaultParameters)parameters.getChildParameters( "var" ); 291 292 final String[] names = childParameters.getParameterNames(); 293 assertEquals( "childParameters.length", 1, names.length ); 294 assertEquals( "names[0]", "s", names[ 0 ] ); 295 assertEquals( "childParameters.getPrefix()", 296 "var", childParameters.getPrefix() ); 297 298 } 299 300 public void testGetChildParametersWithSplitEntriesAcrossMultipleChildren() 301 throws Exception 302 { 303 final DefaultParameters parameters = new DefaultParameters(); 304 parameters.setParameter( "var", "a" ); 305 parameters.setParameter( "var.t.s", "b" ); 306 final DefaultParameters childParameters = 307 (DefaultParameters)parameters.getChildParameters( "var" ); 308 final DefaultParameters childChildParameters = 309 (DefaultParameters)childParameters.getChildParameters( "t" ); 310 311 final String[] names = childChildParameters.getParameterNames(); 312 assertEquals( "childParameters.length", 1, names.length ); 313 assertEquals( "names[0]", "s", names[ 0 ] ); 314 assertEquals( "childParameters.getPrefix()", 315 "var", childParameters.getPrefix() ); 316 317 } 318 319 public void testMakeReadOnlyMakesChildrenReadOnly() 320 throws Exception 321 { 322 final DefaultParameters parameters = new DefaultParameters(); 323 parameters.setParameter( "var", "a" ); 324 parameters.setParameter( "var.t.s", "b" ); 325 final DefaultParameters childParameters = 326 (DefaultParameters)parameters.getChildParameters( "var" ); 327 final DefaultParameters childChildParameters = 328 (DefaultParameters)childParameters.getChildParameters( "t" ); 329 parameters.makeReadOnly(); 330 331 assertEquals( "child1.isReadOnly", true, childParameters.isReadOnly() ); 332 assertEquals( "child2.isReadOnly", true, childChildParameters.isReadOnly() ); 333 } 334 335 public void testGetChildParametersWithNullPrefix() 336 throws Exception 337 { 338 final DefaultParameters parameters = new DefaultParameters(); 339 try 340 { 341 parameters.getChildParameters( null ); 342 } 343 catch( NullPointerException npe ) 344 { 345 assertEquals( "prefix", npe.getMessage() ); 346 return; 347 } 348 fail( "Expected getChildParameters to fail when passing null prefix" ); 349 } 350 351 public void testIsParameterWithNullName() 352 throws Exception 353 { 354 final DefaultParameters parameters = new DefaultParameters(); 355 try 356 { 357 parameters.isParameter( null ); 358 } 359 catch( NullPointerException npe ) 360 { 361 assertEquals( "name", npe.getMessage() ); 362 return; 363 } 364 fail( "Expected to fail as name is null" ); 365 } 366 367 public void testGetParameterAsBooleanWithDefault() 368 throws Exception 369 { 370 final DefaultParameters parameters = new DefaultParameters(); 371 assertEquals( true, parameters.getParameterAsBoolean( "blah", true ) ); 372 } 373 374 public void testGetParameterAsIntegerWithDefault() 375 throws Exception 376 { 377 final DefaultParameters parameters = new DefaultParameters(); 378 assertEquals( 1, parameters.getParameterAsInteger( "blah", 1 ) ); 379 } 380 381 public void testGetParameterAsLongWithDefault() 382 throws Exception 383 { 384 final DefaultParameters parameters = new DefaultParameters(); 385 assertEquals( 1, parameters.getParameterAsLong( "blah", 1 ) ); 386 } 387 388 public void testGetParameterAsFloatWithDefault() 389 throws Exception 390 { 391 final DefaultParameters parameters = new DefaultParameters(); 392 assertTrue( 1.0f == parameters.getParameterAsFloat( "blah", 1.0f ) ); 393 } 394 395 public void testMakeReadOnlyWithNonFreezableChildParameters() 396 throws Exception 397 { 398 final DefaultParameters parameters = new DefaultParameters(); 399 parameters.getChildren().add( new NoopParameters() ); 400 parameters.makeReadOnly(); 401 assertEquals( true, parameters.isReadOnly() ); 402 } 403 404 }

This page was automatically generated by Maven