public void Test008()
        {
            var constructor = new ConstructorReflection();
            var result = constructor.From(() => new string[2]);

            Assert.AreEqual(typeof(string[]).GetConstructor(new Type[] { typeof(int) }), result);
        }
        public void Test003()
        {
            var constructor = new ConstructorReflection();
            var result = constructor.From(() => new List<string> { default(string), default(string) });

            Assert.AreEqual(typeof(List<string>).GetConstructor(new Type[] { }), result);
        }
        public void Test002()
        {
            var constructor = new ConstructorReflection();
            var result = constructor.From(() => new string(default(char[]), default(int), default(int)));

            Assert.AreEqual(typeof(string).GetConstructor(new Type[] { typeof(char[]), typeof(int) , typeof(int) }), result);
        }
        public void Test005()
        {
            var constructor = new ConstructorReflection();
            var result = constructor.From(() => new Dummy {
                A = default(string),
                B = default(string)
            });

            Assert.AreEqual(typeof(Dummy).GetConstructor(new Type[] { }), result);
        }
        public void Test004()
        {
            var constructor = new ConstructorReflection();
            var result = constructor.From(() => new {
                A = default(string),
                B = default(string)
            });

            var type = (new { A = default(string), B=default(string) }).GetType();
            Assert.AreEqual(type.GetConstructor(new Type[] { typeof(string), typeof(string) }), result);
        }
Пример #6
0
        ////Handle Add Veichle to garage
        ////Take all Vehicles types in garage from VehicleFactory class
        ////Building an object-type collection that will contain all the parameter-types for building the vehicle, according to user's choice
        ////Building a wheel-type collection according to vehicle-type user select
        private void handleAddVehicle(Garage garage)
        {
            Dictionary <eVehicleTypes, Type> vehicles     = VehicleFactory.Vehicles;
            Dictionary <eVehicleTypes, int>  wheelsNumber = VehicleFactory.WheelsNumberPerVehicle;

            Type[]        parametersTypesFromConstructor;
            List <string> parametersDescription = new List <string>();
            string        ownerName             = string.Empty;
            string        ownerPhone            = string.Empty;

            Wheel[]       wheelsArray;
            List <object> paramsToBuildVehicle = new List <object>();
            eVehicleTypes vehicleChoise;

            getOwnerNameAndPhone(out ownerName, out ownerPhone);
            vehicleChoise = getVehicleTypeFromUser(vehicles.Keys);
            parametersTypesFromConstructor = ConstructorReflection.GetConstructorParametersTypes(vehicles[vehicleChoise], parametersDescription);
            paramsToBuildVehicle           = getParametersFromUserByVehicleType(parametersTypesFromConstructor, parametersDescription.ToArray());
            wheelsArray = getWheelsArray(wheelsNumber[vehicleChoise], vehicles[vehicleChoise]);
            garage.AddVehicleToGarage(ownerName, ownerPhone, vehicleChoise, paramsToBuildVehicle, wheelsArray);
        }