Ejemplo n.º 1
0
        private static Train FormTrain(string stationA)
        {
            var train = new Train(stationA);

            train.Print();

            train.CoupleCars(new PassengerCar(100), new PassengerCar(30), new PostCar());
            train.CoupleCars(new FreightCar(130));
            //train.CoupleCars(new PassengerCar(52) { Conductor = null});
            //train.CoupleCars(new PostCar() { Conductor = null});
            //train.CoupleCars(new PassengerCar(88) { CurrentPassengerCount = 3} );
            train.Print();

            train.DecoupleCars(1);
            train.Print();

            Console.WriteLine($"We have {train.GetCarCount<PassengerCar>()} passenger cars");
            Console.WriteLine($"We have {train.GetCarCount<IHasConductor>()} conductor cars");
            //Console.WriteLine($"We have {train.GetCarCount<int>()} integer cars?!");

            Console.WriteLine();
            Console.WriteLine("Engineer, this is dispatcher speaking. You are allowed to depart on green signal!");

            CheckForDepart(train);

            SaveTrain(train, Stage.Formed);
            return(train);
        }