|
From: Owen R. <exo...@us...> - 2004-03-25 13:47:03
|
Update of /cvsroot/nmock/nmock/src/NMock In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1305/src/NMock Modified Files: MockContainer.cs Log Message: fixed bug in MockContainer due to hashtable ordering Index: MockContainer.cs =================================================================== RCS file: /cvsroot/nmock/nmock/src/NMock/MockContainer.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MockContainer.cs 23 Mar 2004 06:20:17 -0000 1.1 --- MockContainer.cs 25 Mar 2004 13:36:15 -0000 1.2 *************** *** 8,12 **** { private Type type; ! private Hashtable mocks = new Hashtable(); private object instance; --- 8,13 ---- { private Type type; ! private ConstructorInfo constructor; ! private IDictionary mocks; private object instance; *************** *** 14,19 **** { this.type = type; ! ConstructorInfo info = GetConstructorToUse(type); ! CreateMocks(info); } --- 15,20 ---- { this.type = type; ! constructor = GetConstructorToUse(type); ! mocks = CreateMocks(); } *************** *** 32,41 **** } ! private void CreateMocks(ConstructorInfo info) { ! foreach (ParameterInfo parameterInfo in info.GetParameters()) { ! mocks[parameterInfo.ParameterType] = new DynamicMock(parameterInfo.ParameterType); } } --- 33,44 ---- } ! private IDictionary CreateMocks() { ! Hashtable result = new Hashtable(); ! foreach (ParameterInfo parameterInfo in constructor.GetParameters()) { ! result[parameterInfo.ParameterType] = new DynamicMock(parameterInfo.ParameterType); } + return result; } *************** *** 67,77 **** private object[] CreateMockInstances() { ! object[] result = new object[mocks.Count]; ! int i = 0; ! foreach (IMock mock in mocks.Values) { ! result[i++] = mock.MockInstance; } ! return result; } --- 70,81 ---- private object[] CreateMockInstances() { ! ParameterInfo[] parameters = constructor.GetParameters(); ! ArrayList result = new ArrayList(); ! foreach (ParameterInfo parameter in parameters) { ! IMock mock = (IMock) mocks[parameter.ParameterType]; ! result.Add(mock.MockInstance); } ! return result.ToArray(); } |