Esempio n. 1
0
        public void TestMethod2()
        {
            var count = 0;

            var myobj = new List <object>();

            myobj.Add(new Car(4));
            myobj.Add(new Scooter(2));
            myobj.Add(new MountainBike());

            foreach (var value in myobj)
            {
                if (value.GetType().GetInterface("IHaveEngine") == typeof(IHaveEngine))
                {
                    count++;
                    var attribs = value.GetType().GetCustomAttributes(typeof(AlternateName), false);
                    var alt     = (AlternateName)attribs[0];

                    if (alt.Name == "CA")
                    {
                        var car = new Car(4);
                        int val = car.GetCylindersCount();
                        Console.WriteLine(val);
                    }
                    else
                    {
                        if (alt.Name == "SC")
                        {
                            var scooter = new Scooter(2);
                            int val     = scooter.GetCylindersCount();
                            Console.WriteLine(val);
                        }
                    }
                }
            }

            Assert.AreEqual(count, 2);
        }
Esempio n. 2
0
        public void TestMethod3()
        {
            var count = 0;

            var myobj = new List <object>();

            myobj.Add(new Car(4));
            myobj.Add(new Scooter(2));
            myobj.Add(new MountainBike());

            foreach (var value in myobj)
            {
                if (value.GetType().BaseType == typeof(Bicycle))
                {
                    count++;
                    var attribs = value.GetType().GetCustomAttributes(typeof(AlternateName), false);
                    var alt     = (AlternateName)attribs[0];

                    if (alt.Name == "SC")
                    {
                        var scooter = new Scooter(2);
                        int val     = scooter.GetCylindersCount();
                        Console.WriteLine(val);
                    }
                    else
                    {
                        if (alt.Name == "MB")
                        {
                            var mountBike = new MountainBike();
                            mountBike.ShockAbsorberCount = 3;
                            Console.WriteLine(mountBike.ShockAbsorberCount);
                        }
                    }
                }
            }
            Assert.AreEqual(count, 2);
        }