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); }
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); }