proyal 2002/07/26 12:19:21
Added:
configuration/src/test/org/apache/excalibur/configuration/merged/test
ConfigurationMergerTestCase.java
Log:
Test merging and splitting
Revision Changes Path
1.1
jakarta-avalon-excalibur/configuration/src/test/org/apache/excalibur/configuration/merged/test/ConfigurationMergerTestCase.java
Index: ConfigurationMergerTestCase.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.excalibur.configuration.merged.test;
import org.apache.avalon.framework.configuration.DefaultConfiguration;
import org.apache.excalibur.configuration.ConfigurationUtil;
import org.apache.excalibur.configuration.merged.ConfigurationMerger;
import org.apache.excalibur.configuration.merged.ConfigurationSplitter;
import junit.framework.TestCase;
/**
* @author <a href="mailto:[EMAIL PROTECTED]">Peter Royal</a>
*/
public class ConfigurationMergerTestCase extends TestCase
{
public ConfigurationMergerTestCase()
{
this( "Configuration merger and branching test" );
}
public ConfigurationMergerTestCase( String s )
{
super( s );
}
public void testAttributeOnlyMerge() throws Exception
{
DefaultConfiguration result = new DefaultConfiguration( "a", "b" );
result.setAttribute( "a", "1" );
DefaultConfiguration base = new DefaultConfiguration( "a", "b" );
base.setAttribute( "a", "2" );
DefaultConfiguration layer = new DefaultConfiguration( "a", "b" );
layer.setAttribute( "a", "1" );
assertTrue( ConfigurationUtil.equals( result,
ConfigurationMerger.merge( layer, base ) ) );
assertTrue( ConfigurationUtil.equals( layer,
ConfigurationSplitter.split( result, base ) ));
}
public void testAddChild() throws Exception
{
DefaultConfiguration result = new DefaultConfiguration( "a", "b" );
result.addChild( new DefaultConfiguration( "kid1", "b" ) );
result.addChild( new DefaultConfiguration( "kid2", "b" ) );
DefaultConfiguration base = new DefaultConfiguration( "a", "b" );
base.addChild( new DefaultConfiguration( "kid1", "b" ) );
DefaultConfiguration layer = new DefaultConfiguration( "a", "b" );
layer.addChild( new DefaultConfiguration( "kid2", "b" ) );
assertTrue( ConfigurationUtil.equals( result,
ConfigurationMerger.merge( layer, base ) ) );
assertTrue( ConfigurationUtil.equals( layer,
ConfigurationSplitter.split( result, base ) ));
}
public void testOverrideChild() throws Exception
{
DefaultConfiguration result = new DefaultConfiguration( "a", "b" );
DefaultConfiguration rkid1 = new DefaultConfiguration( "kid1", "b" );
rkid1.setAttribute( "test", "1" );
result.addChild( rkid1 );
DefaultConfiguration base = new DefaultConfiguration( "a", "b" );
DefaultConfiguration bkid1 = new DefaultConfiguration( "kid1", "b" );
bkid1.setAttribute( "test", "0" );
base.addChild( bkid1 );
DefaultConfiguration layer = new DefaultConfiguration( "a", "b" );
DefaultConfiguration lkid1 = new DefaultConfiguration( "kid1", "b" );
lkid1.setAttribute( "test", "1" );
layer.addChild( lkid1 );
assertTrue( !ConfigurationUtil.equals( result,
ConfigurationMerger.merge( layer, base ) ) );
lkid1.setAttribute( "excalibur-configuration:merge", "true" );
assertTrue( ConfigurationUtil.equals( result,
ConfigurationMerger.merge( layer, base ) ) );
assertTrue( ConfigurationUtil.equals( layer,
ConfigurationSplitter.split( result, base ) ) );
}
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>