Documentation ¶
Overview ¶
Package environment provides context for an emulation.
Index ¶
Constants ¶
const MainEmulation = Label("")
MainEmulation is the label used for the main emulation
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Environment ¶
type Environment struct { Label Label // any randomisation required by the emulation should be retreived through // this structure Random *random.Random // the emulation preferences Prefs *preferences.Preferences }
Environment is used to provide context for an emulation. Particularly useful when using multiple emulations
func NewEnvironment ¶
func NewEnvironment(tv random.TV, prefs *preferences.Preferences) (*Environment, error)
NewEnvironment is the preferred method of initialisation for the Environment type.
The two arguments must be supplied. In the case of the prefs field it can by nil and a new Preferences instance will be created. Providing a non-nil value allows the preferences of more than one VCS emulation to be synchronised.
func (*Environment) IsEmulation ¶
func (env *Environment) IsEmulation(label Label) bool
IsEmulation checks the emulation label and returns true if it matches
func (*Environment) Normalise ¶
func (env *Environment) Normalise()
Normalise ensures the environment is in an known default state. Useful for regression testing where the initial state must be the same for every run of the test.