public void Reflex_SetPropertyValue_object_sinPropiedades_str_object_throw_ex()
        {
            // Prepara
            ClasePruebaSinPropiedades objeto = new ClasePruebaSinPropiedades();

            try
            {
                // Ejecuta
                Reflex.SetPropertyValue(objeto, "FieldInt", 111);
                Assert.Fail();
            }
            catch (ArgumentException ex)
            {
                // Comprueba
                Assert.AreEqual("Error en argumento objeto. objeto no tiene propiedades para asignar valores.", ex.Message);
            }
        }
        public void Reflex_SetPropertyValue_object_null_str_object_throw_ex()
        {
            // Prepara
            ClasePruebaPropiedadesKeys objeto = null;

            try
            {
                // Ejecuta
                Reflex.SetPropertyValue(objeto, "FieldInt", 111);
                Assert.Fail();
            }
            catch (ArgumentException ex)
            {
                // Comprueba
                Assert.AreEqual("Error en argumento objeto. objeto nulo.", ex.Message);
            }
        }
        public void Reflex_SetPropertyValue_object_str_object_ret_void()
        {
            // Prepara
            DateTime ahora = DateTime.Now;
            ClasePruebaPropiedadesKeys objeto = new ClasePruebaPropiedadesKeys
            {
                FieldBool = true,
                FieldDT   = ahora,
                FieldInt  = 100,
                FieldStr  = "Test"
            };

            // Ejecuta
            Reflex.SetPropertyValue(objeto, "FieldInt", 111);

            // Comprueba
            Assert.AreEqual(111, objeto.FieldInt);
            Assert.AreEqual(true, objeto.FieldBool);
            Assert.AreEqual(ahora, objeto.FieldDT);
            Assert.AreEqual("Test", objeto.FieldStr);
        }
        public void Reflex_SetPropertyValue_object_str_objetoNoTinePropiedad_object_throw_ex()
        {
            // Prepara
            DateTime ahora = DateTime.Now;
            ClasePruebaPropiedadesKeys objeto = new ClasePruebaPropiedadesKeys
            {
                FieldBool = true,
                FieldDT   = ahora,
                FieldInt  = 100,
                FieldStr  = "Test"
            };

            try
            {
                // Ejecuta
                Reflex.SetPropertyValue(objeto, "PropertyNoExist", 111);
                Assert.Fail();
            }
            catch (ArgumentException ex)
            {
                // Comprueba
                Assert.AreEqual("Error en argumento propertyName. objeto no tiene propiedad 'PropertyNoExist'.", ex.Message);
            }
        }