void IntegerTests(ParameterBinder[] unsignedbinders, ParameterBinder[] signedBinders)
        {
            foreach (var binder in signedBinders.Concat(unsignedbinders)) {

            foreach (var item in new[] { "5", "0" }) {

               object result;

               Assert.IsTrue(binder.TryBind(item, CultureInfo.InvariantCulture, out result));
               Assert.AreEqual(item, Convert.ToString(result, CultureInfo.InvariantCulture));
            }

            foreach (var item in new[] { "", " ", null, " 5", "5 ", "00", "05", "+0", "+5" }) {

               object result;

               Assert.IsFalse(binder.TryBind(item, CultureInfo.InvariantCulture, out result));
               Assert.IsNull(result);
            }
             }

             foreach (var binder in signedBinders) {

            foreach (var item in new[] { "-5" }) {

               object result;

               Assert.IsTrue(binder.TryBind(item, CultureInfo.InvariantCulture, out result));
               Assert.AreEqual(item, Convert.ToString(result, CultureInfo.InvariantCulture));
            }

            // TODO: Disallow -0 in v2

            foreach (var item in new[] { /*"-0",*/ "-05" }) {

               object result;

               Assert.IsFalse(binder.TryBind(item, CultureInfo.InvariantCulture, out result));
               Assert.IsNull(result);
            }
             }
        }