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) { } }
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); } }
public void RegisterResult_ShouldFailWhenAddingExistingType() { // Arrange var argumentHolder = new ArgumentHolder(); argumentHolder.RegisterResult("Misha", 5); // Act argumentHolder.RegisterResult("Rambo", 7); }
public void RegisterResult_ShouldFailWhenAddingExistingName() { // Arrange var argumentHolder = new ArgumentHolder(); argumentHolder.RegisterResult("Misha", 5); // Act argumentHolder.RegisterResult("Misha", "Jelly"); }
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()); }
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); }
public void Get_ByPreciseTypeShouldReturnValue() { // Arrange var argumentHolder = new ArgumentHolder(); argumentHolder.RegisterResult("Misha", 5); // Act var result = argumentHolder.Get <int>(); // Assert Assert.AreEqual(5, result); }
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); }
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) { } }
public static object DoObjectGetterMethod(object obj, MethodInfo m) { ArgumentHolder a = new ArgumentHolder(); return m.Invoke(obj, a.GetArguments()); }
/** * ȡ�����ԵĶ������� * * @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; } }
public static Object NewObject(String className, ArgumentHolder ah) { Type classType = GetType(className); if (classType == null) return null; return NewObject(classType, ah); }
public static Object NewObject(Type classType, ArgumentHolder ah) { return NewObject(classType, ah.GetArgumentTypes(), ah.GetArguments()); }
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(); }
/** * ȡ�ò��������ķ������� * * @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()); }
public static ArgumentHolder CreateArgumentHolder(StringKeyList varList, string[] values) { ArgumentHolder a = new ArgumentHolder(); FillArgumentHolder(varList, values, a); return a; }