cvs commit: spice/components/salt/src/test/org/realityforge/salt/config DefaultParametersTestCase.java NoopParameters.java ParameterExceptionTestCase.java ParametersUtilTestCase.java
Peter Donald <[email protected]>
| Newsgroups | gmane.comp.java.spice.cvs |
|---|---|
| Message-ID | <[email protected]> |
donaldp 03/10/29 14:38:59
Added: components/salt/src/test/org/realityforge/salt/config
DefaultParametersTestCase.java NoopParameters.java
ParameterExceptionTestCase.java
ParametersUtilTestCase.java
Log:
migrate parameters object and supporting infrastructure from the DNA project
Revision Changes Path
1.1 spice/components/salt/src/test/org/realityforge/salt/config/DefaultParametersTestCase.java
Index: DefaultParametersTestCase.java
===================================================================
/*
* Copyright (C) The Spice Group. All rights reserved.
*
* This software is published under the terms of the Spice
* Software License version 1.1, a copy of which has been included
* with this distribution in the LICENSE.txt file.
*/
package org.realityforge.salt.config;
import junit.framework.TestCase;
public class DefaultParametersTestCase
extends TestCase
{
public void testGetParameter()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
final String name = "key";
final String value = "value";
parameters.setParameter( name, value );
assertEquals( "parameters.isParameter( name )",
true,
parameters.isParameter( name ) );
assertEquals( "parameters.getParameter( name, 'blah' )",
value,
parameters.getParameter( name, "blah" ) );
assertEquals( "parameters.getParameter( name )",
value,
parameters.getParameter( name ) );
}
public void testGetMissingParameter()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
final String name = "key";
assertEquals( "parameters.isParameter( name )",
false,
parameters.isParameter( name ) );
assertEquals( "parameters.getParameter( name, 'blah' )",
"blah",
parameters.getParameter( name, "blah" ) );
try
{
parameters.getParameter( name );
fail( "Expected getParameter on non existent parameter to fail" );
}
catch( ParameterException e )
{
}
}
public void testGetParameterNames()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
final String name = "key";
final String value = "value";
parameters.setParameter( name, value );
final String[] names = parameters.getParameterNames();
assertEquals( "names.length", 1, names.length );
assertEquals( "names[0]", name, names[ 0 ] );
}
public void testGetParameterWithNullName()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
try
{
parameters.getParameter( null );
}
catch( NullPointerException npe )
{
assertEquals( "name", npe.getMessage() );
return;
}
fail( "Expected getParameter(null) to fail due to passing null " );
}
public void testGetParameterWDefaultWithNullName()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
try
{
parameters.getParameter( null, "blah" );
}
catch( NullPointerException npe )
{
assertEquals( "name", npe.getMessage() );
return;
}
fail( "Expected getParameter(null,'blah') to fail due to passing null " );
}
public void testsetParameterWithNullName()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
try
{
parameters.setParameter( null, "blah" );
}
catch( NullPointerException npe )
{
assertEquals( "name", npe.getMessage() );
return;
}
fail( "Expected setParameter(null,'blah') to fail due to passing null " );
}
public void testsetParameterWithNullValue()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
try
{
parameters.setParameter( "blah", null );
}
catch( NullPointerException npe )
{
assertEquals( "value", npe.getMessage() );
return;
}
fail( "Expected setParameter('blah',null) to fail due to passing null " );
}
public void testNullPassedIntoCtor()
throws Exception
{
try
{
new DefaultParameters( null );
}
catch( NullPointerException npe )
{
assertEquals( "prefix", npe.getMessage() );
return;
}
fail( "Expected to fail due to passing null " );
}
public void testGetParameterAsBoolean()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
final String name = "key";
final String value = "true";
parameters.setParameter( name, value );
assertEquals( "parameters.getParameterAsBoolean( name, false )",
true,
parameters.getParameterAsBoolean( name, false ) );
assertEquals( "parameters.getParameterAsBoolean( name )",
true,
parameters.getParameterAsBoolean( name ) );
}
public void testGetParameterAsInteger()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
final String name = "key";
final String value = "1";
parameters.setParameter( name, value );
assertEquals( "parameters.getParameterAsInteger( name, 3 )",
1,
parameters.getParameterAsInteger( name, 3 ) );
assertEquals( "parameters.getParameterAsInteger( name )",
1,
parameters.getParameterAsInteger( name ) );
}
public void testGetParameterAsIntegerWithMalformedValue()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
final String name = "key";
final String value = "a";
parameters.setParameter( name, value );
assertEquals( "parameters.getParameterAsInteger( name, 3 )",
3,
parameters.getParameterAsInteger( name, 3 ) );
try
{
parameters.getParameterAsInteger( name );
}
catch( ParameterException e )
{
return;
}
fail( "Expected to fail as parameter is malformed" );
}
public void testGetParameterAsLong()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
final String name = "key";
final String value = "1";
parameters.setParameter( name, value );
assertEquals( "parameters.getParameterAsLong( name, 3 )",
1,
parameters.getParameterAsLong( name, 3 ) );
assertEquals( "parameters.getParameterAsLong( name )",
1,
parameters.getParameterAsLong( name ) );
}
public void testGetParameterAsLongWithMalformedValue()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
final String name = "key";
final String value = "a";
parameters.setParameter( name, value );
assertEquals( "parameters.getParameterAsInteger( name, 3 )",
3,
parameters.getParameterAsLong( name, 3 ) );
try
{
parameters.getParameterAsLong( name );
}
catch( ParameterException e )
{
return;
}
fail( "Expected to fail as parameter is malformed" );
}
public void testGetParameterAsFloat()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
final String name = "key";
final String value = "1.0";
parameters.setParameter( name, value );
assertTrue( "parameters.getParameterAsFloat( name, 3 )",
1.0 == parameters.getParameterAsFloat( name, 3 ) );
assertTrue( "parameters.getParameterAsFloat( name )",
1.0 == parameters.getParameterAsFloat( name ) );
}
public void testGetParameterAsFloatWithMalformedValue()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
final String name = "key";
final String value = "a";
parameters.setParameter( name, value );
assertTrue( "parameters.getParameterAsFloat( name, 3 )",
3.0 == parameters.getParameterAsFloat( name, 3 ) );
try
{
parameters.getParameterAsFloat( name );
}
catch( ParameterException e )
{
return;
}
fail( "Expected to fail as parameter is malformed" );
}
public void testGetChildParametersWithZeroEntries()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
final String name = "key";
final String value = "a";
parameters.setParameter( name, value );
final Parameters childParameters =
parameters.getChildParameters( "noexist" );
assertEquals( "childParameters.length",
0, childParameters.getParameterNames().length );
}
public void testGetChildParametersWithSplitEntries()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
parameters.setParameter( "var", "a" );
parameters.setParameter( "var.s", "b" );
final DefaultParameters childParameters =
(DefaultParameters)parameters.getChildParameters( "var" );
final String[] names = childParameters.getParameterNames();
assertEquals( "childParameters.length", 1, names.length );
assertEquals( "names[0]", "s", names[ 0 ] );
assertEquals( "childParameters.getPrefix()",
"var", childParameters.getPrefix() );
}
public void testGetChildParametersWithSplitEntriesAcrossMultipleChildren()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
parameters.setParameter( "var", "a" );
parameters.setParameter( "var.t.s", "b" );
final DefaultParameters childParameters =
(DefaultParameters)parameters.getChildParameters( "var" );
final DefaultParameters childChildParameters =
(DefaultParameters)childParameters.getChildParameters( "t" );
final String[] names = childChildParameters.getParameterNames();
assertEquals( "childParameters.length", 1, names.length );
assertEquals( "names[0]", "s", names[ 0 ] );
assertEquals( "childParameters.getPrefix()",
"var", childParameters.getPrefix() );
}
public void testMakeReadOnlyMakesChildrenReadOnly()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
parameters.setParameter( "var", "a" );
parameters.setParameter( "var.t.s", "b" );
final DefaultParameters childParameters =
(DefaultParameters)parameters.getChildParameters( "var" );
final DefaultParameters childChildParameters =
(DefaultParameters)childParameters.getChildParameters( "t" );
parameters.makeReadOnly();
assertEquals( "child1.isReadOnly", true, childParameters.isReadOnly() );
assertEquals( "child2.isReadOnly", true, childChildParameters.isReadOnly() );
}
public void testGetChildParametersWithNullPrefix()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
try
{
parameters.getChildParameters( null );
}
catch( NullPointerException npe )
{
assertEquals( "prefix", npe.getMessage() );
return;
}
fail( "Expected getChildParameters to fail when passing null prefix" );
}
public void testIsParameterWithNullName()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
try
{
parameters.isParameter( null );
}
catch( NullPointerException npe )
{
assertEquals( "name", npe.getMessage() );
return;
}
fail( "Expected to fail as name is null" );
}
public void testGetParameterAsBooleanWithDefault()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
assertEquals( true, parameters.getParameterAsBoolean( "blah", true ) );
}
public void testGetParameterAsIntegerWithDefault()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
assertEquals( 1, parameters.getParameterAsInteger( "blah", 1 ) );
}
public void testGetParameterAsLongWithDefault()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
assertEquals( 1, parameters.getParameterAsLong( "blah", 1 ) );
}
public void testGetParameterAsFloatWithDefault()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
assertTrue( 1.0f == parameters.getParameterAsFloat( "blah", 1.0f ) );
}
public void testMakeReadOnlyWithNonFreezableChildParameters()
throws Exception
{
final DefaultParameters parameters = new DefaultParameters();
parameters.getChildren().add( new NoopParameters() );
parameters.makeReadOnly();
assertEquals( true, parameters.isReadOnly() );
}
}
1.1 spice/components/salt/src/test/org/realityforge/salt/config/NoopParameters.java
Index: NoopParameters.java
===================================================================
/*
* Copyright (C) The Spice Group. All rights reserved.
*
* This software is published under the terms of the Spice
* Software License version 1.1, a copy of which has been included
* with this distribution in the LICENSE.txt file.
*/
package org.realityforge.salt.config;
class NoopParameters
implements Parameters
{
public String[] getParameterNames()
{
return new String[ 0 ];
}
public boolean isParameter( String name )
{
return false;
}
public String getParameter( String name )
throws ParameterException
{
return null;
}
public String getParameter( String name, String defaultValue )
{
return null;
}
public int getParameterAsInteger( String name )
throws ParameterException
{
return 0;
}
public int getParameterAsInteger( String name, int defaultValue )
{
return 0;
}
public long getParameterAsLong( String name )
throws ParameterException
{
return 0;
}
public long getParameterAsLong( String name, long defaultValue )
{
return 0;
}
public boolean getParameterAsBoolean( String name )
throws ParameterException
{
return false;
}
public boolean getParameterAsBoolean( String name, boolean defaultValue )
{
return false;
}
public float getParameterAsFloat( String name )
throws ParameterException
{
return 0;
}
public float getParameterAsFloat( String name, float defaultValue )
{
return 0;
}
public Parameters getChildParameters( String prefix )
{
return null;
}
}
1.1 spice/components/salt/src/test/org/realityforge/salt/config/ParameterExceptionTestCase.java
Index: ParameterExceptionTestCase.java
===================================================================
/*
* Copyright (C) The JContainer Group. All rights reserved.
*
* This software is published under the terms of the JContainer
* Software License version 1.1, a copy of which has been included
* with this distribution in the LICENSE.txt file.
*/
package org.realityforge.salt.config;
import junit.framework.TestCase;
/**
*
* @author <a href="mailto:peter at realityforge.org">Peter Donald</a>
* @version $Revision: 1.1 $ $Date: 2003/10/29 22:38:59 $
*/
public class ParameterExceptionTestCase
extends TestCase
{
public void testParameterExceptionConstruction()
throws Exception
{
final String message = "myMessage";
final String key = "myKey";
final Throwable cause = new Throwable();
final ParameterException exception =
new ParameterException( message, key, cause );
assertEquals( "message", message, exception.getMessage() );
assertEquals( "key", key, exception.getKey() );
assertEquals( "cause", cause, exception.getCause() );
}
public void testParameterExceptionConstructionWithNullCause()
throws Exception
{
final String message = "myMessage";
final String key = "myKey";
final Throwable cause = null;
final ParameterException exception =
new ParameterException( message, key, cause );
assertEquals( "message", message, exception.getMessage() );
assertEquals( "key", key, exception.getKey() );
assertEquals( "cause", cause, exception.getCause() );
}
public void testParameterExceptionConstructionWithNullKey()
throws Exception
{
final String message = "myMessage";
final String key = null;
final Throwable cause = new Throwable();
final ParameterException exception =
new ParameterException( message, key, cause );
assertEquals( "message", message, exception.getMessage() );
assertEquals( "key", key, exception.getKey() );
assertEquals( "cause", cause, exception.getCause() );
}
public void testParameterExceptionConstructionWithNullMessage()
throws Exception
{
final String message = null;
final String key = "myKey";
final Throwable cause = new Throwable();
final ParameterException exception =
new ParameterException( message, key, cause );
assertEquals( "message", message, exception.getMessage() );
assertEquals( "key", key, exception.getKey() );
assertEquals( "cause", cause, exception.getCause() );
}
public void testParameterExceptionConstructionWithSimpleCtor()
throws Exception
{
final String message = "myMessage";
final String key = "myKey";
final ParameterException exception =
new ParameterException( message, key );
assertEquals( "message", message, exception.getMessage() );
assertEquals( "key", key, exception.getKey() );
assertEquals( "cause", null, exception.getCause() );
}
}
1.1 spice/components/salt/src/test/org/realityforge/salt/config/ParametersUtilTestCase.java
Index: ParametersUtilTestCase.java
===================================================================
/*
* Copyright (C) The Spice Group. All rights reserved.
*
* This software is published under the terms of the Spice
* Software License version 1.1, a copy of which has been included
* with this distribution in the LICENSE.txt file.
*/
package org.realityforge.salt.config;
import java.util.Properties;
import junit.framework.TestCase;
/**
*
* @author <a href="mailto:peter at realityforge.org">Peter Donald</a>
* @version $Revision: 1.1 $ $Date: 2003/10/29 22:38:59 $
*/
public class ParametersUtilTestCase
extends TestCase
{
public void testFromProperties()
throws Exception
{
final Properties properties = new Properties();
properties.setProperty( "key1", "value1" );
properties.setProperty( "key2", "value2" );
final Parameters parameters = ParametersUtil.fromProperties( properties );
final String[] names = parameters.getParameterNames();
assertEquals( "names.length", 2, names.length );
assertEquals( "parameters('key1')", "value1",
parameters.getParameter( "key1" ) );
assertEquals( "parameters('key2')", "value2",
parameters.getParameter( "key2" ) );
}
public void testMergeInputIntoOutput()
throws Exception
{
final DefaultParameters input = new DefaultParameters();
input.setParameter( "key1", "value1" );
input.setParameter( "key2", "value2" );
final DefaultParameters output = new DefaultParameters();
ParametersUtil.copy( output, input );
final String[] names = output.getParameterNames();
assertEquals( "output.names.length", 2, names.length );
assertEquals( "output('key1')", "value1",
output.getParameter( "key1" ) );
assertEquals( "output('key2')", "value2",
output.getParameter( "key2" ) );
}
public void testMergeWithOverwriting()
throws Exception
{
final DefaultParameters input1 = new DefaultParameters();
input1.setParameter( "key1", "input1" );
final DefaultParameters input2 = new DefaultParameters();
input2.setParameter( "key1", "input2" );
final Parameters output = ParametersUtil.merge( input1, input2 );
final String[] names = output.getParameterNames();
assertEquals( "output.names.length", 1, names.length );
assertEquals( "output('key1')", "input2",
output.getParameter( "key1" ) );
}
}
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/