
TypeTest |
ptolemy.actor.lib.TypeTest |
An actor that can be used for regression test of the type resolution
system. During the initialize phase, after type resolution has been
performed, this actor compares resolved types in the model with types
stored in several parameters. If the types are the same, then the
actor does nothing. However, if the types are different, then the
actor throws an exception. Hence, as with the Test actor, this actor
can be easily used to build automatically executed tests of the type
system from within Vergil.
The types expected by this actor are stored in two parameters,
each parameter contains a record of record of strings. The outer
record contains labels corresponding to the names of actors in the
same level of hierarchy as this actor. The inner record contains
labels corresponding to the names of typeable objects in the
appropriate actor. The strings in the record correspond to string
representations of the types of the typeable objects. For the
portTypes parameter, the typeable objects are assumed to be
ports, and for the parameterTypes parameter, the objects are
assumed to be parameters.
Note that this actor only tests type resolution at one level of
opaque hierarchy. Hierarchical models should include multiple
instances of this actor. Since filling in the types manually is
difficult, this actor includes a training mode, similar to the
NonStrictTest actor. This mode automatically fills in the type
parameters. Also note that it is not necessary to specify the types
of all typeable objects. Any objects for which no type is specified
are not checked.
During runtime, this actor consumes and ignores any input tokens.
This makes it very easy to add this actor to an existing model without
changing the behavior of the model.
Author(s): Steve Neuendorffer
Version:$Id: TypeTest.java,v 1.27 2005/07/08 19:56:10 cxh Exp $
Pt.Proposed Rating:Red (eal)
Pt.Accepted Rating:Red (ssachs)
parameterTypes
A record of record of strings representing the types of
parameters of actors in the model.
portTypes
A record of record of strings representing the types of ports
of actors in the model.
trainingMode
If true, then do not check inputs, but rather collect them
into the portTypes and parameterTypes arrays.
This parameter is a boolean, and it defaults to false.