Package ptolemy.actor.gt.controller
Class TestModel
- java.lang.Object
-
- All Implemented Interfaces:
java.lang.Cloneable
,Initializable
,ConfigurableEntity
,Changeable
,Configurable
,Debuggable
,DebugListener
,Derivable
,DropTargetHandler
,Flowable
,Instantiable
,ModelErrorHandler
,MoMLExportable
,Moveable
,Nameable
public class TestModel extends GTEvent
An event to compare the model in the model parameter with a known good result.If the models differ only be the VersionAttribute, then they are considered to be equal.
- Since:
- Ptolemy II 10.0
- Version:
- $Id$
- Author:
- Christopher Brooks, based on View by Thomas Huining Feng
- See Also:
NonStrictTest
- Pt.AcceptedRating:
- Red (cxh)
- Pt.ProposedRating:
- Red (cxh)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ptolemy.domains.ptera.kernel.Event
Event.EventParameter, Event.RefiringData
-
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
_firedOnce
Set to true if fire() is called once.protected boolean
_initialized
Set to true when initialized() is called.protected int
_iteration
Count of iterations.protected int
_numberOfInputTokensSeen
Number of input tokens seen by this actor in the fire method.protected java.util.List
_trainingTokens
List to store tokens for training mode.Parameter
correctValues
A matrix specifying what the input should be.Parameter
requireAllCorrectValues
If true, and the number of tokens seen in wrapup() is not equal to or greater than the number of elements in the correctValues array, then throw an exception.SharedParameter
trainingMode
If true, then do not check inputs, but rather collect them into the correctValues array.-
Fields inherited from class ptolemy.actor.gt.controller.GTEvent
refinementExtender
-
Fields inherited from class ptolemy.domains.ptera.kernel.Event
actions, isEndingEvent, isFinalEvent, isInitialEvent, parameters
-
Fields inherited from class ptolemy.domains.modal.kernel.State
incomingPort, isFinalState, isInitialState, outgoingPort, refinementName, saveRefinementsInConfigurer
-
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
-
-
Constructor Summary
Constructors Constructor Description TestModel(CompositeEntity container, java.lang.String name)
Construct an event with the given name contained by the specified composite entity.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
clone(Workspace workspace)
Clone the event into the specified workspace.Event.RefiringData
fire(Token arguments)
Process this event and show the model in the model parameter in the designated tableau.void
initialize()
Initialize this event.void
wrapup()
If trainingMode is true, then take the collected training tokens and store them as an array in correctValues.-
Methods inherited from class ptolemy.actor.gt.controller.GTEvent
getModelParameter, setContainer
-
Methods inherited from class ptolemy.domains.ptera.kernel.Event
_getParserScope, _isActiveRefinement, addInitializable, attributeChanged, getController, isEndingEvent, isFinalEvent, isInitialEvent, preinitialize, refire, removeInitializable, scheduleEvents, stop
-
Methods inherited from class ptolemy.domains.modal.kernel.State
_exportMoMLContents, configure, dropObject, errorTransitionList, getConfigurer, getConfigureSource, getConfigureText, getIncomingPort, getObjectInRefinement, getOutgoingPort, getRefinement, nonErrorNonTerminationTransitionList, nonpreemptiveTransitionList, preemptiveTransitionList, terminationTransitionList
-
Methods inherited from class ptolemy.kernel.ComponentEntity
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, newPort, propagateExistence, setName
-
Methods inherited from class ptolemy.kernel.Entity
_addPort, _description, _removePort, _validateSettables, connectedPortList, connectedPorts, connectionsChanged, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName
-
Methods inherited from class ptolemy.kernel.InstantiableNamedObj
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
-
Methods inherited from class ptolemy.kernel.util.NamedObj
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeDeleted, attributeList, attributeList, attributeTypeChanged, clone, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface ptolemy.kernel.util.Derivable
getDerivedLevel, getDerivedList, propagateValue
-
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getDisplayName, getFullName, getName, getName
-
-
-
-
Field Detail
-
correctValues
public Parameter correctValues
A matrix specifying what the input should be. This defaults to a one-by-one array containing a boolean true.
-
requireAllCorrectValues
public Parameter requireAllCorrectValues
If true, and the number of tokens seen in wrapup() is not equal to or greater than the number of elements in the correctValues array, then throw an exception. The default value is true. This parameter is a shared parameter, meaning that changing it for any one instance in a model will change it for all instances in the model.
-
trainingMode
public SharedParameter trainingMode
If true, then do not check inputs, but rather collect them into the correctValues array. This parameter is a boolean, and it defaults to false. It is a shared parameter, meaning that changing it for any one instance in a model will change it for all instances in the model.
-
_numberOfInputTokensSeen
protected int _numberOfInputTokensSeen
Number of input tokens seen by this actor in the fire method.
-
_iteration
protected int _iteration
Count of iterations.
-
_trainingTokens
protected java.util.List _trainingTokens
List to store tokens for training mode.
-
_firedOnce
protected boolean _firedOnce
Set to true if fire() is called once. If fire() is not called at least once, then throw an exception in wrapup().
-
_initialized
protected boolean _initialized
Set to true when initialized() is called.
-
-
Constructor Detail
-
TestModel
public TestModel(CompositeEntity container, java.lang.String name) throws IllegalActionException, NameDuplicationException
Construct an event with the given name contained by the specified composite entity. The container argument must not be null, or a NullPointerException will be thrown. This event will use the workspace of the container for synchronization and version counts. If the name argument is null, then the name is set to the empty string. Increment the version of the workspace. This constructor write-synchronizes on the workspace.- Parameters:
container
- The container.name
- The name of the state.- Throws:
IllegalActionException
- If the state cannot be contained by the proposed container.NameDuplicationException
- If the name coincides with that of an entity already in the container.
-
-
Method Detail
-
clone
public java.lang.Object clone(Workspace workspace) throws java.lang.CloneNotSupportedException
Clone the event into the specified workspace. This calls the base class and then sets the attribute and port public members to refer to the attributes and ports of the new state.- Overrides:
clone
in classEvent
- Parameters:
workspace
- The workspace for the new event.- Returns:
- A new event.
- Throws:
java.lang.CloneNotSupportedException
- If a derived class contains an attribute that cannot be cloned.- See Also:
NamedObj.exportMoML(Writer, int, String)
,NamedObj.setDeferringChangeRequests(boolean)
-
fire
public Event.RefiringData fire(Token arguments) throws IllegalActionException
Process this event and show the model in the model parameter in the designated tableau.- Overrides:
fire
in classEvent
- Parameters:
arguments
- The arguments used to process this event, which must be either an ArrayToken or a RecordToken.- Returns:
- A refiring data structure that contains a non-negative double number if refire() should be called after that amount of model time, or null if refire() need not be called.
- Throws:
IllegalActionException
- If the tableau cannot be used, or if thrown by the superclass.- See Also:
Event.refire(Token, RefiringData)
-
initialize
public void initialize() throws IllegalActionException
Initialize this event.- Specified by:
initialize
in interfaceInitializable
- Overrides:
initialize
in classEvent
- Throws:
IllegalActionException
- If thrown by the superclass.
-
wrapup
public void wrapup() throws IllegalActionException
If trainingMode is true, then take the collected training tokens and store them as an array in correctValues.- Specified by:
wrapup
in interfaceInitializable
- Overrides:
wrapup
in classEvent
- Throws:
IllegalActionException
- If initialized() was called and fire() was not called or if the number of inputs tokens seen is not greater than or equal to the number of elements in the correctValues array.
-
-