示例#1
0
        public static void Execute(PSharpRuntime runtime)
        {
            var s = (StateImpl)PTesterCommandLine.main_s.Clone();

            s.UserBooleanChoice = delegate()
            {
                return(runtime.Random());
            };

            s.CreateMachineCallback = delegate(PrtImplMachine machine)
            {
                PTesterCommandLine.coverage.DeclareMachine(machine);
            };

            s.DequeueCallback = delegate(PrtImplMachine machine, string evName, string senderMachineName, string senderMachineStateName)
            {
                PTesterCommandLine.coverage.ReportDequeue(machine, evName, senderMachineName, senderMachineStateName);
            };

            s.StateTransitionCallback = delegate(PrtImplMachine machine, PrtState from, PrtState to, string reason)
            {
                PTesterCommandLine.coverage.ReportStateTransition(machine, from, to, reason);
            };

            PTesterCommandLine.currentImpl = s;

            runtime.CreateMachine(typeof(PSharpMachine), new MachineInitEvent(s));
        }