There is an oddity at the moment whereby the IStage and the ICast are very closely linked. Almost any time that we want to use a stage, we will first need a cast in order to get the actor in the first place. This is particularly evident in SpecFlow-based tests.
What I would like to do is to add a little bit of functionality to the stage interface, which semi-duplicates functionality on the cast, so that a separate cast is no longer required. These new methods would be overloads of the ShineTheSpotlightOn method:
ShineTheSpotlightOn<TPersona>()
ShineTheSpotlightOn(IPersona persona)
ShineTheSpotlightOn(string actorName)
All of these overloads would have the following functionality:
Make use of an ICast instance (which the stage shall take as a dependency) to get the actor by either their persona or their name.
There is an oddity at the moment whereby the
IStage
and theICast
are very closely linked. Almost any time that we want to use a stage, we will first need a cast in order to get the actor in the first place. This is particularly evident in SpecFlow-based tests.What I would like to do is to add a little bit of functionality to the stage interface, which semi-duplicates functionality on the cast, so that a separate cast is no longer required. These new methods would be overloads of the
ShineTheSpotlightOn
method:ShineTheSpotlightOn<TPersona>()
ShineTheSpotlightOn(IPersona persona)
ShineTheSpotlightOn(string actorName)
All of these overloads would have the following functionality:
ICast
instance (which the stage shall take as a dependency) to get the actor by either their persona or their name.