alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

What this is

This file is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Other links

The source code

// $Header: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/testelement/property/PackageTest.java,v 1.3 2004/02/21 21:24:20 sebb Exp $
/*
 * Copyright 2003-2004 The Apache Software Foundation.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
*/

package org.apache.jmeter.testelement.property;

import junit.framework.TestCase;

import org.apache.jmeter.config.LoginConfig;

/**
 *Class for testing the property package.
 */
public class PackageTest extends TestCase
{

    public PackageTest(String name)
    {
        super(name);
    }
    
    public void testStringProperty() throws Exception
    {
        StringProperty prop = new StringProperty("name","value");
        prop.setRunningVersion(true);
        prop.setObjectValue("new Value");
        assertEquals("new Value",prop.getStringValue());
        prop.recoverRunningVersion(null);
        assertEquals("value",prop.getStringValue());
        prop.setObjectValue("new Value");
        prop.setObjectValue("2nd Value");
        assertEquals("2nd Value",prop.getStringValue());
        prop.recoverRunningVersion(null);
        assertEquals("value",prop.getStringValue());        
    }
    
    public void testElementProperty() throws Exception
        {
            LoginConfig config = new LoginConfig();
            config.setUsername("username");
            config.setPassword("password");
            TestElementProperty prop = new TestElementProperty("name",config);
            prop.setRunningVersion(true);
            config = new LoginConfig();
            config.setUsername("user2");
            config.setPassword("pass2");
            prop.setObjectValue(config);
            assertEquals("user2=pass2",prop.getStringValue());
            prop.recoverRunningVersion(null);
            assertEquals("username=password",prop.getStringValue());
            config = new LoginConfig();
            config.setUsername("user2");
            config.setPassword("pass2");
            prop.setObjectValue(config);
            config = new LoginConfig();
            config.setUsername("user3");
            config.setPassword("pass3");
            prop.setObjectValue(config);
            assertEquals("user3=pass3",prop.getStringValue());
            prop.recoverRunningVersion(null);
            assertEquals("username=password",prop.getStringValue());        
        }
    private void checkEquals(JMeterProperty jp1, JMeterProperty jp2)
	{
    	assertEquals(jp1,jp2);
    	assertEquals(jp2,jp1);
    	assertEquals(jp1,jp1);
    	assertEquals(jp2,jp2);
    	assertEquals(jp1.hashCode(),jp2.hashCode());
    	
    }
    private void checkNotEquals(JMeterProperty jp1, JMeterProperty jp2)
	{
    	assertEquals(jp1,jp1);
    	assertEquals(jp2,jp2);
    	assertFalse(jp1.equals(jp2));
    	assertFalse(jp2.equals(jp1));
    	// Not an absolute requirement:
    	if (jp1.hashCode()==jp2.hashCode())
    	{
    	    System.out.println("Expected different hashCodes for "+jp1.getClass().getName());
    	
    	}
    	
    }
    public void testBooleanEquality() throws Exception
    {
    	BooleanProperty jpn1 = new BooleanProperty();
    	BooleanProperty jpn2 = new BooleanProperty();
    	BooleanProperty jp1 = new BooleanProperty("name1",true);
    	BooleanProperty jp2 = new BooleanProperty("name1",true);
    	BooleanProperty jp3 = new BooleanProperty("name2",true);
    	BooleanProperty jp4 = new BooleanProperty("name2",false);
    	checkEquals(jpn1,jpn2);
    	checkNotEquals(jpn1,jp1);
    	checkNotEquals(jpn1,jp2);
    	checkEquals(jp1,jp2);
    	checkNotEquals(jp1,jp3);
    	checkNotEquals(jp2,jp3);
    	checkNotEquals(jp3,jp4);
    }
    public void testDoubleEquality() throws Exception
    {
    	DoubleProperty jpn1 = new DoubleProperty();
    	DoubleProperty jpn2 = new DoubleProperty();
    	DoubleProperty jp1 = new DoubleProperty("name1",123.4);
    	DoubleProperty jp2 = new DoubleProperty("name1",123.4);
    	DoubleProperty jp3 = new DoubleProperty("name2",-123.4);
    	DoubleProperty jp4 = new DoubleProperty("name2",123.4);
    	DoubleProperty jp5 = new DoubleProperty("name2",Double.NEGATIVE_INFINITY);
    	DoubleProperty jp6 = new DoubleProperty("name2",Double.NEGATIVE_INFINITY);
    	DoubleProperty jp7 = new DoubleProperty("name2",Double.POSITIVE_INFINITY);
    	DoubleProperty jp8 = new DoubleProperty("name2",Double.POSITIVE_INFINITY);
    	DoubleProperty jp9 = new DoubleProperty("name2",Double.NaN);
    	DoubleProperty jp10 = new DoubleProperty("name2",Double.NaN);
    	DoubleProperty jp11 = new DoubleProperty("name1",Double.NaN);
    	DoubleProperty jp12 = new DoubleProperty("name1",Double.MIN_VALUE);
    	DoubleProperty jp13 = new DoubleProperty("name2",Double.MIN_VALUE);
    	DoubleProperty jp14 = new DoubleProperty("name2",Double.MIN_VALUE);
    	DoubleProperty jp15 = new DoubleProperty("name1",Double.MAX_VALUE);
    	DoubleProperty jp16 = new DoubleProperty("name2",Double.MAX_VALUE);
    	DoubleProperty jp17 = new DoubleProperty("name2",Double.MAX_VALUE);
    	checkEquals(jpn1,jpn2);
    	checkNotEquals(jpn1,jp1);
    	checkNotEquals(jpn1,jp2);
    	checkEquals(jp1,jp2);
    	checkNotEquals(jp1,jp3);
    	checkNotEquals(jp2,jp3);
    	checkNotEquals(jp3,jp4);
    	checkEquals(jp5,jp6);
    	checkNotEquals(jp3,jp6);
    	checkEquals(jp7,jp8);
    	checkNotEquals(jp4,jp7);
    	checkNotEquals(jp8,jp9);
    	checkEquals(jp9,jp10);
    	checkNotEquals(jp10,jp11);
    	checkNotEquals(jp5,jp10);
    	checkNotEquals(jp12,jp14);
    	checkEquals(jp13,jp14);
    	checkNotEquals(jp15,jp16);
    	checkEquals(jp16,jp17);
    }
    public void testFloatEquality() throws Exception
    {
    	FloatProperty jp1 = new FloatProperty("name1",123.4f);
    	FloatProperty jp2 = new FloatProperty("name1",123.4f);
    	FloatProperty jp3 = new FloatProperty("name2",-123.4f);
    	FloatProperty jp4 = new FloatProperty("name2",123.4f);
    	FloatProperty jp5 = new FloatProperty("name2",Float.NEGATIVE_INFINITY);
    	FloatProperty jp6 = new FloatProperty("name2",Float.NEGATIVE_INFINITY);
    	FloatProperty jp7 = new FloatProperty("name2",Float.POSITIVE_INFINITY);
    	FloatProperty jp8 = new FloatProperty("name2",Float.POSITIVE_INFINITY);
    	FloatProperty jp9 = new FloatProperty("name2",Float.NaN);
    	FloatProperty jp10 = new FloatProperty("name2",Float.NaN);
    	FloatProperty jp11 = new FloatProperty("name1",Float.NaN);
    	FloatProperty jp12 = new FloatProperty("name1",Float.MIN_VALUE);
    	FloatProperty jp13 = new FloatProperty("name2",Float.MIN_VALUE);
    	FloatProperty jp14 = new FloatProperty("name2",Float.MIN_VALUE);
    	FloatProperty jp15 = new FloatProperty("name1",Float.MAX_VALUE);
    	FloatProperty jp16 = new FloatProperty("name2",Float.MAX_VALUE);
    	FloatProperty jp17 = new FloatProperty("name2",Float.MAX_VALUE);
    	checkEquals(jp1,jp2);
    	checkNotEquals(jp1,jp3);
    	checkNotEquals(jp2,jp3);
    	checkNotEquals(jp3,jp4);
    	checkEquals(jp5,jp6);
    	checkNotEquals(jp3,jp6);
    	checkEquals(jp7,jp8);
    	checkNotEquals(jp4,jp7);
    	checkNotEquals(jp8,jp9);
    	checkEquals(jp9,jp10);
    	checkNotEquals(jp10,jp11);
    	checkNotEquals(jp5,jp10);
    	checkNotEquals(jp12,jp14);
    	checkEquals(jp13,jp14);
    	checkNotEquals(jp15,jp16);
    	checkEquals(jp16,jp17);
    }

    public void testIntegerEquality() throws Exception
    {
    	IntegerProperty jp1 = new IntegerProperty("name1",123);
    	IntegerProperty jp2 = new IntegerProperty("name1",123);
    	IntegerProperty jp3 = new IntegerProperty("name2",-123);
    	IntegerProperty jp4 = new IntegerProperty("name2",123);
    	IntegerProperty jp5 = new IntegerProperty("name2",Integer.MIN_VALUE);
    	IntegerProperty jp6 = new IntegerProperty("name2",Integer.MIN_VALUE);
    	IntegerProperty jp7 = new IntegerProperty("name2",Integer.MAX_VALUE);
    	IntegerProperty jp8 = new IntegerProperty("name2",Integer.MAX_VALUE);
    	IntegerProperty jp9 = new IntegerProperty("name1",Integer.MIN_VALUE);
    	IntegerProperty jp10 = new IntegerProperty("name1",Integer.MAX_VALUE);
    	checkEquals(jp1,jp2);
    	checkNotEquals(jp1,jp3);
    	checkNotEquals(jp2,jp3);
    	checkNotEquals(jp3,jp4);
    	checkEquals(jp5,jp6);
    	checkNotEquals(jp3,jp6);
    	checkEquals(jp7,jp8);
    	checkNotEquals(jp4,jp7);
    	checkNotEquals(jp9,jp5);
    	checkNotEquals(jp10,jp7);
    	checkNotEquals(jp9,jp10);
		try {
			new IntegerProperty(null);
			fail("Should have generated an Illegal Argument Exception");
		} catch (IllegalArgumentException e) { }
		try {
			new IntegerProperty(null,0);
			fail("Should have generated an Illegal Argument Exception");
		} catch (IllegalArgumentException e) { }
    }

    public void testLongEquality() throws Exception
    {
    	LongProperty jp1 = new LongProperty("name1",123);
    	LongProperty jp2 = new LongProperty("name1",123);
    	LongProperty jp3 = new LongProperty("name2",-123);
    	LongProperty jp4 = new LongProperty("name2",123);
    	LongProperty jp5 = new LongProperty("name2",Long.MIN_VALUE);
    	LongProperty jp6 = new LongProperty("name2",Long.MIN_VALUE);
    	LongProperty jp7 = new LongProperty("name2",Long.MAX_VALUE);
    	LongProperty jp8 = new LongProperty("name2",Long.MAX_VALUE);
    	LongProperty jp9 = new LongProperty("name1",Long.MIN_VALUE);
    	LongProperty jp10 = new LongProperty("name1",Long.MAX_VALUE);
    	checkEquals(jp1,jp2);
    	checkNotEquals(jp1,jp3);
    	checkNotEquals(jp2,jp3);
    	checkNotEquals(jp3,jp4);
    	checkEquals(jp5,jp6);
    	checkNotEquals(jp3,jp6);
    	checkEquals(jp7,jp8);
    	checkNotEquals(jp4,jp7);
    	checkNotEquals(jp9,jp5);
    	checkNotEquals(jp10,jp7);
    	checkNotEquals(jp9,jp10);
		try {
			new LongProperty(null,0L);
			fail("Should have generated an Illegal Argument Exception");
		} catch (IllegalArgumentException e) { }
    }

    public void testMapEquality() throws Exception
    {
		try {
			new MapProperty(null,null);
			fail("Should have generated an Illegal Argument Exception");
		} catch (IllegalArgumentException e) { }

    }

    public void testNullEquality() throws Exception
    {
    	NullProperty jpn1 = new NullProperty();
    	NullProperty jpn2 = new NullProperty();
		try {
			new NullProperty(null);
			fail("Should have generated an Illegal Argument Exception");
		} catch (IllegalArgumentException e) { }
    	NullProperty jp1 = new NullProperty("name1");
    	NullProperty jp2 = new NullProperty("name1");
    	NullProperty jp3 = new NullProperty("name2");
    	NullProperty jp4 = new NullProperty("name2");
    	checkEquals(jpn1,jpn2);
    	checkNotEquals(jpn1,jp1);
    	checkEquals(jp1,jp2);
    	checkNotEquals(jp1,jp3);
    	checkNotEquals(jp2,jp3);
    	checkEquals(jp3,jp4);
    }
    public void testStringEquality() throws Exception
    {
    	StringProperty jpn1 = new StringProperty();
    	StringProperty jpn2 = new StringProperty();
    	StringProperty jp1 = new StringProperty("name1","value1");
    	StringProperty jp2 = new StringProperty("name1","value1");
    	StringProperty jp3 = new StringProperty("name2","value1");
    	StringProperty jp4 = new StringProperty("name2","value2");
    	StringProperty jp5 = new StringProperty("name1",null);
    	StringProperty jp6 = new StringProperty("name1",null);
    	StringProperty jp7 = new StringProperty("name2",null);
    	checkEquals(jpn1,jpn2);
    	checkNotEquals(jpn1,jp1);
    	checkEquals(jp1,jp2);
    	checkNotEquals(jp1,jp3);
    	checkNotEquals(jp2,jp3);
    	checkNotEquals(jp3,jp4);
    	checkEquals(jp5,jp6);
    	checkNotEquals(jp3,jp5);
    	checkNotEquals(jp6,jp7);
    	try {
			new StringProperty(null,"");
			fail("Should have generated an Illegal Argument Exception");
		} catch (IllegalArgumentException e) { }
    	try {
			new StringProperty(null,null);
			fail("Should have generated an Illegal Argument Exception");
		} catch (IllegalArgumentException e) { }
    	
    }
}
... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.