コード例 #1
0
        public void Setup()
        {
            _instance = new PitStopInstance();
            _machine  = AutomatonymousStateMachine <PitStopInstance>
                        .New(builder => builder
                             .State("BeingServiced", out BeingServiced)
                             .Event("VehicleArrived", out VehicleArrived)
                             .InstanceState(b => b.OverallState)
                             .During(builder.Initial)
                             .When(VehicleArrived, b => b
                                   .Then(context =>
            {
                context.Instance.VehicleMake  = context.Data.Make;
                context.Instance.VehicleModel = context.Data.Model;
            })
                                   .TransitionTo(BeingServiced))
                             );

            var vehicle = new Vehicle
            {
                Make  = "Audi",
                Model = "A6",
            };

            _machine.RaiseEvent(_instance, VehicleArrived, vehicle).Wait();
        }
コード例 #2
0
        public void Setup()
        {
            _machine  = new PitStop();
            _instance = new PitStopInstance();

            var vehicle = new Vehicle
            {
                Make  = "Audi",
                Model = "A6",
            };

            _machine.RaiseEvent(_instance, _machine.VehicleArrived, vehicle).Wait();
        }