
org.testtoolinterfaces.testsuite.TestGroupImpl Maven / Gradle / Ivy
package org.testtoolinterfaces.testsuite;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.Iterator;
import org.testtoolinterfaces.utils.Trace;
/**
* Class for Default (i.e. TTI) Test Groups.
* TestGroupImpls all have an Id, a sequenceNr and may have a description and a list of Requirements.
* And they all have collections of prepare steps, execution entries, and restore steps.
* (These collections may be empty as well.)
*
* @author Arjan Kranenburg
*
*/
public class TestGroupImpl extends TestEntryImpl implements TestGroup
{
private ArrayList myRequirementIds;
private TestStepSequence myInitializationSteps;
private TestEntrySequence myExecutionEntries;
private TestStepSequence myRestoreSteps;
/**
* Constructor
*
* @param aTestGroupId TG Identifier
* @param aDescription Description
* @param aSequenceNr Sequence Number
* @param aRequirementIds List of Requirements
* @param aPrepareSteps Collection of preparation steps
* @param aTestEntries Collection of test entries
* @param aRestoreSteps Collection of Restore steps
* @param anAnyAttributes Attributes that were not recognized, but kept anyway
* @param anAnyElements Elements that were not recognized, but kept anyway
*/
public TestGroupImpl( String aTestGroupId,
String aDescription,
int aSequenceNr,
ArrayList aRequirementIds,
TestStepSequence aPrepareSteps,
TestEntrySequence aTestEntries,
TestStepSequence aRestoreSteps,
Hashtable anAnyAttributes,
Hashtable anAnyElements )
{
super( aTestGroupId,
TestEntry.TYPE.Group,
aDescription,
aSequenceNr,
anAnyAttributes,
anAnyElements );
Trace.println( Trace.CONSTRUCTOR,
"TestGroupImpl( " + aTestGroupId + ", "
+ aDescription + ", "
+ aSequenceNr + ", "
+ aRequirementIds.hashCode() + ", "
+ aPrepareSteps + ", "
+ aTestEntries + ", "
+ aRestoreSteps + " )",
true );
myRequirementIds = aRequirementIds;
myInitializationSteps = aPrepareSteps;
myExecutionEntries = aTestEntries;
myRestoreSteps = aRestoreSteps;
}
/**
* Constructor without unknown attributes or elements
*
* @param aTestGroupId TG Identifier
* @param aDescription Description
* @param aSequenceNr Sequence Number
* @param aRequirementIds List of Requirements
* @param aPrepareSteps Collection of preparation steps
* @param aTestEntries Collection of test entries
* @param aRestoreSteps Collection of Restore steps
*/
public TestGroupImpl( String aTestGroupId,
String aDescription,
int aSequenceNr,
ArrayList aRequirementIds,
TestStepSequence aPrepareSteps,
TestEntrySequence aTestEntries,
TestStepSequence aRestoreSteps )
{
this( aTestGroupId,
aDescription,
aSequenceNr,
aRequirementIds,
aPrepareSteps,
aTestEntries,
aRestoreSteps,
new Hashtable(),
new Hashtable() );
}
/**
* Constructor without description and unknown attributes or elements
*
* @param aTestGroupId TG Identifier
* @param aSequenceNr Sequence Number
* @param aRequirementIds List of Requirements
* @param aPrepareSteps Collection of preparation steps
* @param aTestEntries Collection of test entries
* @param aRestoreSteps Collection of Restore steps
*/
public TestGroupImpl( String aTestGroupId,
int aSequenceNr,
ArrayList aRequirementIds,
TestStepSequence aPrepareSteps,
TestEntrySequence aTestEntries,
TestStepSequence aRestoreSteps )
{
this( aTestGroupId,
"",
aSequenceNr,
aRequirementIds,
aPrepareSteps,
aTestEntries,
aRestoreSteps,
new Hashtable(),
new Hashtable() );
}
/**
* Constructor without requirements and unknown attributes or elements
*
* @param aTestGroupId TG Identifier
* @param aDescription Description
* @param aSequenceNr Sequence Number
* @param aPrepareSteps Collection of preparation steps
* @param aTestEntries Collection of test entries
* @param aRestoreSteps Collection of Restore steps
*/
public TestGroupImpl( String aTestGroupId,
String aDescription,
int aSequenceNr,
TestStepSequence aPrepareSteps,
TestEntrySequence aTestEntries,
TestStepSequence aRestoreSteps )
{
this( aTestGroupId,
aDescription,
aSequenceNr,
new ArrayList(),
aPrepareSteps,
aTestEntries,
aRestoreSteps,
new Hashtable(),
new Hashtable() );
}
/**
* Constructor without description, requirements, and unknown attributes or elements
*
* @param aTestGroupId TG Identifier
* @param aSequenceNr Sequence Number
* @param aPrepareSteps Collection of preparation steps
* @param aTestEntries Collection of test entries
* @param aRestoreSteps Collection of Restore steps
*/
public TestGroupImpl( String aTestGroupId,
int aSequenceNr,
TestStepSequence aPrepareSteps,
TestEntrySequence aTestEntries,
TestStepSequence aRestoreSteps )
{
this( aTestGroupId,
"",
aSequenceNr,
new ArrayList(),
aPrepareSteps,
aTestEntries,
aRestoreSteps,
new Hashtable(),
new Hashtable() );
}
public TestStepSequence getPrepareSteps()
{
return myInitializationSteps;
}
public TestEntrySequence getExecutionEntries()
{
return myExecutionEntries;
}
public TestStepSequence getRestoreSteps()
{
return myRestoreSteps;
}
public ArrayList getRequirements()
{
return myRequirementIds;
}
public boolean hasGroupId(String aGroupId)
{
if ( this.getId().equals(aGroupId) )
{
return true;
}
Iterator itr = (Iterator) myExecutionEntries.iterator();
while(itr.hasNext())
{
TestEntry entry = itr.next();
if ( entry.getType() == TestEntry.TYPE.Group )
{
if ( ((TestGroup) entry).hasGroupId(aGroupId) )
{
return true;
}
}
else if ( entry.getType() == TestEntry.TYPE.GroupLink )
{
if ( entry.getId().equals( aGroupId ) )
{
return true;
}
}
}
return false;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy