Criteria that is satisfied if the System.Type of each of the arguments matches each of the parameter System.Types of a given System.Reflection.MethodInfo.

If no System.Type array is passed to the overloaded constructor, any method that has no parameters will satisfy an instance of this class. The same effect could be achieved by passing the Spring.Util.ObjectUtils.EmptyObjects array to the overloaded constructor.

Inheritance: ICriteria
        public void IsSatisfiedWithNoParametersByDefault()
        {
            MethodArgumentsCriteria criteria = new MethodArgumentsCriteria();
            MethodInfo method = GetType().GetMethod("Foo");

            Assert.IsTrue(criteria.IsSatisfied(method), "Was not satisified with a method that takes no parameters by default.");
        }
 public void IsSatisfiedIsPolymorphic() 
 {
     // i.e. derived types satisfy the criteria if a base type or interface is
     // specified as one of the parameter types
     MethodArgumentsCriteria criteria
         = new MethodArgumentsCriteria(new Object[] { new TestObject("Bruno", 29) });
     MethodInfo method = GetType().GetMethod ("Diddly");
     Assert.IsTrue (criteria.IsSatisfied (method), "Was not satisified with a method that takes a base class as a parameter.");
 }
        public void IsSatisfiedIsPolymorphic()
        {
            // i.e. derived types satisfy the criteria if a base type or interface is
            // specified as one of the parameter types
            MethodArgumentsCriteria criteria
                = new MethodArgumentsCriteria(new Object[] { new TestObject("Bruno", 29) });
            MethodInfo method = GetType().GetMethod("Diddly");

            Assert.IsTrue(criteria.IsSatisfied(method), "Was not satisified with a method that takes a base class as a parameter.");
        }
        public void IsSatisfied() 
        {
            MethodArgumentsCriteria criteria = new MethodArgumentsCriteria(
                new Object[] { "Bruno", DateTime.Now, new TestObject("Bruno", 29) });
            MethodInfo method = GetType ().GetMethod ("BoJangles");
            Assert.IsTrue (criteria.IsSatisfied (method), "Was not satisified with a method that takes a whole buncha parameters.");

            method = GetType().GetMethod ("BadBobbyBoJangles");
            Assert.IsFalse (criteria.IsSatisfied (method), "Was satisified with a (bad) method that takes a whole buncha parameters.");
        }
        public void IsSatisfied()
        {
            MethodArgumentsCriteria criteria = new MethodArgumentsCriteria(
                new Object[] { "Bruno", DateTime.Now, new TestObject("Bruno", 29) });
            MethodInfo method = GetType().GetMethod("BoJangles");

            Assert.IsTrue(criteria.IsSatisfied(method), "Was not satisified with a method that takes a whole buncha parameters.");

            method = GetType().GetMethod("BadBobbyBoJangles");
            Assert.IsFalse(criteria.IsSatisfied(method), "Was satisified with a (bad) method that takes a whole buncha parameters.");
        }
        public void IsSatisfiedWithParamsArguments()
        {
            MethodArgumentsCriteria criteria = new MethodArgumentsCriteria(new Object[] { 29, "Bruno" });
            MethodInfo method = GetType().GetMethod("ParamsArguments");
            Assert.IsTrue(criteria.IsSatisfied(method), "Was not satisified with a method that takes a parameter array ('params') as a parameter.");

            criteria = new MethodArgumentsCriteria(new Object[] { 29, new string[] { "Bruno", "Rick" } });
            method = GetType().GetMethod("ParamsArguments");
            Assert.IsTrue(criteria.IsSatisfied(method), "Was not satisified with a method that takes a parameter array ('params') as a parameter.");

            criteria = new MethodArgumentsCriteria(new Object[] { 29 });
            method = GetType().GetMethod("ParamsArguments");
            Assert.IsTrue(criteria.IsSatisfied(method), "Was not satisified with a method that takes a parameter array ('params') as a parameter.");

            criteria = new MethodArgumentsCriteria(new Object[] { 29, "Bruno", "Rick", "James" });
            method = GetType().GetMethod("ParamsArguments");
            Assert.IsTrue(criteria.IsSatisfied(method), "Was not satisified with a method that takes a parameter array ('params') as a parameter.");

            criteria = new MethodArgumentsCriteria(new Object[] { 29, new string[] { "Bruno", "Rick" }, "James" });
            method = GetType().GetMethod("ParamsArguments");
            Assert.IsFalse(criteria.IsSatisfied(method), "Was not satisified with a method that takes a parameter array ('params') as a parameter.");
        }
        public void IsSatisfiedWithParamsArguments()
        {
            MethodArgumentsCriteria criteria = new MethodArgumentsCriteria(new Object[] { 29, "Bruno" });
            MethodInfo method = GetType().GetMethod("ParamsArguments");

            Assert.IsTrue(criteria.IsSatisfied(method), "Was not satisified with a method that takes a parameter array ('params') as a parameter.");

            criteria = new MethodArgumentsCriteria(new Object[] { 29, new string[] { "Bruno", "Rick" } });
            method   = GetType().GetMethod("ParamsArguments");
            Assert.IsTrue(criteria.IsSatisfied(method), "Was not satisified with a method that takes a parameter array ('params') as a parameter.");

            criteria = new MethodArgumentsCriteria(new Object[] { 29 });
            method   = GetType().GetMethod("ParamsArguments");
            Assert.IsTrue(criteria.IsSatisfied(method), "Was not satisified with a method that takes a parameter array ('params') as a parameter.");

            criteria = new MethodArgumentsCriteria(new Object[] { 29, "Bruno", "Rick", "James" });
            method   = GetType().GetMethod("ParamsArguments");
            Assert.IsTrue(criteria.IsSatisfied(method), "Was not satisified with a method that takes a parameter array ('params') as a parameter.");

            criteria = new MethodArgumentsCriteria(new Object[] { 29, new string[] { "Bruno", "Rick" }, "James" });
            method   = GetType().GetMethod("ParamsArguments");
            Assert.IsFalse(criteria.IsSatisfied(method), "Was not satisified with a method that takes a parameter array ('params') as a parameter.");
        }
        public void IsNotSatisfiedWithNull()
        {
            MethodArgumentsCriteria criteria = new MethodArgumentsCriteria();

            Assert.IsFalse(criteria.IsSatisfied(null), "Was satisified with null.");
        }
 public void IsSatisfiedWithNoParametersByDefault() 
 {
     MethodArgumentsCriteria criteria = new MethodArgumentsCriteria();
     MethodInfo method = GetType().GetMethod ("Foo");
     Assert.IsTrue (criteria.IsSatisfied (method), "Was not satisified with a method that takes no parameters by default.");
 }
 public void IsNotSatisfiedWithNull() {
     MethodArgumentsCriteria criteria = new MethodArgumentsCriteria();
     Assert.IsFalse (criteria.IsSatisfied (null), "Was satisified with null.");
 }