public void TestMethod_FactoryMethod()
        {
            ProducentSamochodow producent = new ProducentSamochodow();

            FactoryMethod.Samochod s = producent.produkcjaSamochodu("Osobowy");

            Assert.AreEqual(s.about, "Osobowy");
            Assert.AreNotEqual(s.about, "Terenowy");
            Assert.AreNotEqual(s.about, "Sportowy");
        }
        public static void Main(string[] args)
        {
            ProducentSamochodow producent = new ProducentSamochodow();

            Samochod[] tab = new Samochod[3];

            tab[0] = producent.produkcjaSamochodu("Osobowy");
            Console.WriteLine("--------------------------------------------------------------");
            tab[1] = producent.produkcjaSamochodu("Terenowy");
            Console.WriteLine("--------------------------------------------------------------");
            tab[2] = producent.produkcjaSamochodu("Sportowy");
            Console.ReadLine();
        }
        public Samochod produkcjaSamochodu(String about)
        {
            Samochod car = null;

            /* teraz decyduje o tym, jakie auto wyprodukujemy */
            if (about.Equals("Osobowy"))
            {
                car = new Osobowy();
            }
            else if (about.Equals("Terenowy"))
            {
                car = new Terenowy();
            }
            else if (about.Equals("Sportowy"))
            {
                car = new Sportowy();
            }
            return(car.wyprodukujSamochod());
        }