Example #1
0
        public void Clear_ShouldRemoveAllOldValues()
        {
            // Arrange
            var argumentHolder = new ArgumentHolder();

            argumentHolder.RegisterResult("Misha", 5);

            // Act
            argumentHolder.Clear();

            // Assert
            Assert.AreEqual(0, argumentHolder.Count);
            try
            {
                argumentHolder.Get("Misha");
                Assert.Fail("Expected exception key not found!");
            }
            catch (KeyNotFoundException) { }
            try
            {
                argumentHolder.Get <int>();
                Assert.Fail("Expected exception key not found!");
            }
            catch (KeyNotFoundException) { }
        }
Example #2
0
 public static void FillArgumentHolder(StringKeyList varList, string[] values, ArgumentHolder a)
 {
     StringValueInfo info = new StringValueInfo();
     for (int i = 0; i < values.Length; i++)
     {
         info.FromValueString(varList, values[i]);
         a.SetArgument(info.ValueType, info.ValueContext);
     }
 }
Example #3
0
        public void RegisterResult_ShouldFailWhenAddingExistingType()
        {
            // Arrange
            var argumentHolder = new ArgumentHolder();

            argumentHolder.RegisterResult("Misha", 5);

            // Act
            argumentHolder.RegisterResult("Rambo", 7);
        }
Example #4
0
        public void RegisterResult_ShouldFailWhenAddingExistingName()
        {
            // Arrange
            var argumentHolder = new ArgumentHolder();

            argumentHolder.RegisterResult("Misha", 5);

            // Act
            argumentHolder.RegisterResult("Misha", "Jelly");
        }
Example #5
0
        public void Get_ByInexistentNameShouldThrowException()
        {
            // Arrange
            var argumentHolder = new ArgumentHolder();

            argumentHolder.RegisterResult("Misha", 5);

            // Act
            argumentHolder.Get("Rambo");
        }
 public static void DoObjectSetterMethod(object obj, MethodInfo m, object value)
 {
     ArgumentHolder a = new ArgumentHolder();
     a.SetArgument(value);
     /*
      * ��Invoke��������һ�������Ƿ������ڵĶ������������ static�ģ���ô�˴�������null,�����������static�ģ�
      * ���Ǵ˴���Null�Ļ��������NullPointerException �ڶ������Ƿ�������Ҫ�IJ����Ķ������飬����ǻ�������
      * ���͵Ļ���ʹ�����⸲������ͣ�����intʹ��Integer.Type�� Singleʹ��Single.Type��
      */
     m.Invoke(obj, a.GetArguments());
 }
Example #7
0
        public void Count_ShouldHaveCorrectTallyAfterRegistering()
        {
            // Arrange
            var argumentHolder = new ArgumentHolder();

            argumentHolder.RegisterResult("Misha", 5);
            argumentHolder.RegisterResult("Rambo", "Who");
            argumentHolder.RegisterResult("Pi", 3.14);

            // Assert
            Assert.AreEqual(3, argumentHolder.Count);
        }
Example #8
0
        public void Get_ByPreciseTypeShouldReturnValue()
        {
            // Arrange
            var argumentHolder = new ArgumentHolder();

            argumentHolder.RegisterResult("Misha", 5);

            // Act
            var result = argumentHolder.Get <int>();

            // Assert
            Assert.AreEqual(5, result);
        }
Example #9
0
        public void Get_ByExistingNameShouldReturnAddedValue()
        {
            // Arrange
            var argumentHolder = new ArgumentHolder();

            argumentHolder.RegisterResult("Misha", 5);

            // Act
            var result = argumentHolder.Get("Misha");

            // Assert
            Assert.IsInstanceOfType(result, typeof(int));
            Assert.AreEqual(5, result);
        }
Example #10
0
        public void RegisterResult_RegisteringNullValueShouldNotAddValue()
        {
            // Arrange
            var argumentHolder = new ArgumentHolder();

            argumentHolder.RegisterResult("Misha", null);

            // Assert
            Assert.AreEqual(0, argumentHolder.Count);
            try
            {
                argumentHolder.Get("Misha");
                Assert.Fail("Expected argument exception");
            }
            catch (KeyNotFoundException) { }
        }
Example #11
0
 public static object DoObjectGetterMethod(object obj, MethodInfo m)
 {
     ArgumentHolder a = new ArgumentHolder();
     return m.Invoke(obj, a.GetArguments());
 }
Example #12
0
 /**
  * ȡ�����ԵĶ�������
  *
  * @param classType
  * @param propertyName
  * @return
  * @throws SecurityException
  * @throws NoSuchMethodException
  */
 public static MethodInfo GetReadPropMethod(Type classType, string propertyName)
 {
     string methodName = "Get" + propertyName;
     ArgumentHolder a = new ArgumentHolder();
     MethodInfo m;
     try
     {
         m = classType.GetMethod(methodName, a.GetArgumentTypes());
         return m;
     }
     catch
     {
         return null;
     }
 }
Example #13
0
 public static Object NewObject(String className, ArgumentHolder ah)
 {
     Type classType = GetType(className);
     if (classType == null) return null;
     return NewObject(classType, ah);
 }
Example #14
0
 public static Object NewObject(Type classType, ArgumentHolder ah)
 {
     return NewObject(classType, ah.GetArgumentTypes(), ah.GetArguments());
 }
Example #15
0
 public static object[] GetObjectValues(String[] parameterValues, Type[] parameterTypes)
 {
     if (parameterValues == null) return null;
     // ȡ����ֵ����//
     String[] pcs = ConstUtil.GetStringValueContexts(parameterValues, parameterTypes);
     // �÷������������ò���ֵ�б����Ŀ//
     ArgumentHolder ah = new ArgumentHolder(parameterTypes.Length);
     for (int i = 0; i < parameterTypes.Length; i++)
     {
         ah.SetArgument(i, parameterTypes[i], pcs[i]);
     }
     return ah.GetArguments();
 }
Example #16
0
 /**
  * ȡ�ò��������ķ�������
  *
  * @param classType
  *            ��������
  * @param methodName
  *            ��������
  * @return
  * @throws SecurityException
  * @throws NoSuchMethodException
  */
 public static MethodInfo GetMethod(Type classType, String methodName)
 {
     ArgumentHolder a = new ArgumentHolder();
     try
     {
         MethodInfo m = classType.GetMethod(methodName, a.GetArgumentTypes());
         return m;
     }
     catch
     {
         return null;
     }
 }
 private static void DoObjectSetterMethod(object obj, MethodInfo m, object[] parameterValues, object value)
 {
     //��ȡ��������//
     int parameterCount = 1;
     if (parameterValues != null)
     {
         parameterCount += parameterValues.Length;
     }
     //���ֵ�б�//
     ArgumentHolder a = new ArgumentHolder(parameterCount);
     if (parameterValues != null)
     {
         for (int i = 0; i < parameterValues.Length; i++)
         {
             a.SetArgument(i, parameterValues[i]);
         }
     }
     a.SetArgument(parameterCount - 1, value);
     //���÷���//
     m.Invoke(obj, a.GetArguments());
 }
 private static object DoObjectGetterMethod(object obj, MethodInfo m, object[] parameterValues)
 {
     //��ȡ��������//
     int parameterCount;
     if (parameterValues != null)
         parameterCount = parameterValues.Length;
     else
         parameterCount = 0;
     //���ֵ�б�//
     ArgumentHolder a = new ArgumentHolder(parameterCount);
     for (int i = 0; i < parameterCount; i++)
     {
         a.SetArgument(i, parameterValues[i]);
     }
     //���÷���//
     return m.Invoke(obj, a.GetArguments());
 }
Example #19
0
 public static ArgumentHolder CreateArgumentHolder(StringKeyList varList, string[] values)
 {
     ArgumentHolder a = new ArgumentHolder();
     FillArgumentHolder(varList, values, a);
     return a;
 }