我有一个家庭作业来为其他方法编写一个测试,以显示使用此方法创建的对象及其重复值是相等的。
/**
* Creates a new object that is a duplicate of this instance of
* Parameter.
*
* The duplication is a "deep copy" in that all values contained in the
* Parameter are themselves duplicated.
*
* @return The new duplicate Parameter object.
*/
public Parameter copy( )
{
Parameter result = new Parameter( );
result.setName( getName( ) );
for ( int index = 0; index < getNumberOfValues( ); index++ )
{
result.addValue( getValue( index ).copy( ) );
}
return result;
}我写了不同的方法,但每次结果都显示它们不相同。我的一个测试是:
@Test
public void testCopy() {
Parameter param = new Parameter();
Value val1 = new Value();
//val1.setName("Hi!");
//param.addValue(val1);
Parameter param2 = param.copy();
Parameter expected = param;
Parameter actual = param2;
assertEquals(param, param2);
}但似乎这种方法不会创建和精确重复param。
你能指导我吗?
这是value的复制方法:
/**
* Creates a new Value object that is a duplicate of this instance.
*
* @return The new duplicate Value object.
*/
public Value copy( )
{
Value newValue = new Value( );
newValue.setName( getName( ) );
return newValue;
}