Exemplo n.º 1
0
        public TripStream()
        {
            var startDay = Random.Next(1, 100);

            var start = new TripStarted {
                Day = startDay
            };

            Events.Add(start);


            var state = RandomState();

            Events.Add(new Departure {
                Day = startDay, State = state
            });

            var duration = Random.Next(1, 20);

            var randomNumber = Random.NextDouble();

            for (var i = 0; i < duration; i++)
            {
                var day = startDay + i;

                var travel = Travel.Random(day);
                Events.Add(travel);

                if (i > 0 && randomNumber > .3)
                {
                    var departure = new Departure {
                        Day = day, State = state
                    };

                    Events.Add(departure);

                    state = RandomState();

                    var arrival = new Arrival {
                        State = state, Day = i
                    };
                    Events.Add(arrival);
                }
            }

            if (randomNumber > .5)
            {
                Events.Add(new TripEnded
                {
                    Day   = startDay + duration,
                    State = state
                });
            }
            else if (randomNumber > .9)
            {
                Events.Add(new TripAborted());
            }
        }
Exemplo n.º 2
0
 public Trip Create(TripStarted started)
 {
     return(new Trip {
         StartedOn = started.Day, Active = true
     });
 }