This list is closed, nobody may subscribe to it.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(99) |
Feb
(163) |
Mar
(3) |
Apr
(33) |
May
(8) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2006 |
Jan
|
Feb
|
Mar
(10) |
Apr
|
May
|
Jun
(16) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Griffin C. <gc...@us...> - 2005-02-05 20:20:33
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.csUnitNamespace In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22680/DotNetMock.csUnitNamespace Removed Files: .cvsignore AssemblyInfo.cs DotNetMock.csUnitNamespace.csproj csUnitTestFramework.cs Log Message: - Removed individual test framework assemblies. Now using dynamic loading --- .cvsignore DELETED --- --- DotNetMock.csUnitNamespace.csproj DELETED --- --- csUnitTestFramework.cs DELETED --- --- AssemblyInfo.cs DELETED --- |
From: Griffin C. <gc...@us...> - 2005-02-05 20:20:32
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.NUnit In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22680/DotNetMock.NUnit Removed Files: .cvsignore AssemblyInfo.cs DotNetMock.NUnit.csproj NUnitTestFramework.cs Log Message: - Removed individual test framework assemblies. Now using dynamic loading --- DotNetMock.NUnit.csproj DELETED --- --- .cvsignore DELETED --- --- NUnitTestFramework.cs DELETED --- --- AssemblyInfo.cs DELETED --- |
From: Griffin C. <gc...@us...> - 2005-02-05 20:20:31
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.MbUnitNamespace In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22680/DotNetMock.MbUnitNamespace Removed Files: .cvsignore AssemblyInfo.cs DotNetMock.MbUnitNamespace.csproj MbUnitTestFramework.cs Log Message: - Removed individual test framework assemblies. Now using dynamic loading --- .cvsignore DELETED --- --- MbUnitTestFramework.cs DELETED --- --- DotNetMock.MbUnitNamespace.csproj DELETED --- --- AssemblyInfo.cs DELETED --- |
From: Griffin C. <gc...@us...> - 2005-02-05 20:20:31
|
Update of /cvsroot/dotnetmock/dotnetmock In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22680 Modified Files: DotNetMock.sln Log Message: - Removed individual test framework assemblies. Now using dynamic loading Index: DotNetMock.sln =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.sln,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** DotNetMock.sln 29 Jan 2005 09:13:32 -0000 1.15 --- DotNetMock.sln 5 Feb 2005 20:20:17 -0000 1.16 *************** *** 20,39 **** EndProjectSection EndProject - Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetMock.NUnit", "DotNetMock.NUnit\DotNetMock.NUnit.csproj", "{319BBC9F-D219-4A65-9C17-FD4BE99F11D3}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection - EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetMock.Core", "DotNetMock.Core\DotNetMock.Core.csproj", "{5666DF57-5109-4C5F-967D-EEDC554B8E55}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject - Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetMock.MbUnitNamespace", "DotNetMock.MbUnitNamespace\DotNetMock.MbUnitNamespace.csproj", "{F792059D-1FDF-4426-A5DB-38D68F60973F}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection - EndProject - Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetMock.csUnitNamespace", "DotNetMock.csUnitNamespace\DotNetMock.csUnitNamespace.csproj", "{C7009DB3-7238-4608-AB9A-DB4927361898}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection - EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetMock.TestFramework.Tests", "DotNetMock.TestFramework.Tests\DotNetMock.TestFramework.Tests.csproj", "{6C2904D4-ADCC-4980-AED0-64A8C6F3AF69}" ProjectSection(ProjectDependencies) = postProject --- 20,27 ---- *************** *** 66,85 **** {80B98B32-57CB-4989-B506-0F2B0AD94DBA}.Release.ActiveCfg = Release|.NET {80B98B32-57CB-4989-B506-0F2B0AD94DBA}.Release.Build.0 = Release|.NET - {319BBC9F-D219-4A65-9C17-FD4BE99F11D3}.Debug.ActiveCfg = Debug|.NET - {319BBC9F-D219-4A65-9C17-FD4BE99F11D3}.Debug.Build.0 = Debug|.NET - {319BBC9F-D219-4A65-9C17-FD4BE99F11D3}.Release.ActiveCfg = Release|.NET - {319BBC9F-D219-4A65-9C17-FD4BE99F11D3}.Release.Build.0 = Release|.NET {5666DF57-5109-4C5F-967D-EEDC554B8E55}.Debug.ActiveCfg = Debug|.NET {5666DF57-5109-4C5F-967D-EEDC554B8E55}.Debug.Build.0 = Debug|.NET {5666DF57-5109-4C5F-967D-EEDC554B8E55}.Release.ActiveCfg = Release|.NET {5666DF57-5109-4C5F-967D-EEDC554B8E55}.Release.Build.0 = Release|.NET - {F792059D-1FDF-4426-A5DB-38D68F60973F}.Debug.ActiveCfg = Debug|.NET - {F792059D-1FDF-4426-A5DB-38D68F60973F}.Debug.Build.0 = Debug|.NET - {F792059D-1FDF-4426-A5DB-38D68F60973F}.Release.ActiveCfg = Release|.NET - {F792059D-1FDF-4426-A5DB-38D68F60973F}.Release.Build.0 = Release|.NET - {C7009DB3-7238-4608-AB9A-DB4927361898}.Debug.ActiveCfg = Debug|.NET - {C7009DB3-7238-4608-AB9A-DB4927361898}.Debug.Build.0 = Debug|.NET - {C7009DB3-7238-4608-AB9A-DB4927361898}.Release.ActiveCfg = Release|.NET - {C7009DB3-7238-4608-AB9A-DB4927361898}.Release.Build.0 = Release|.NET {6C2904D4-ADCC-4980-AED0-64A8C6F3AF69}.Debug.ActiveCfg = Debug|.NET {6C2904D4-ADCC-4980-AED0-64A8C6F3AF69}.Debug.Build.0 = Debug|.NET --- 54,61 ---- |
From: Griffin C. <gc...@us...> - 2005-02-01 23:25:21
|
Update of /cvsroot/dotnetmock/dotnetmock In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11282 Modified Files: DotNetMock.build Log Message: - Removed signing from AssemblyInfo files. - Removed building of aux test framework classes. - Minor update to clover configuration Index: DotNetMock.build =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.build,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** DotNetMock.build 29 Jan 2005 09:13:31 -0000 1.15 --- DotNetMock.build 1 Feb 2005 23:24:17 -0000 1.16 *************** *** 90,126 **** </references> </csc> ! <csc target="library" output="${build.dir}/DotNetMock.NUnit.dll" debug="${debug}" doc="${build.dir}\DotNetMock.NUnit.xml"> <sources basedir="."> ! <includes name="DotNetMock.NUnit/**/*.cs"/> </sources> <references basedir="."> <includes name="lib/nunit.framework.dll"/> ! <includes name="build/DotNetMock.Core.dll"/> ! </references> ! </csc> ! <csc target="library" output="${build.dir}/DotNetMock.csUnitNamespace.dll" debug="${debug}" doc="${build.dir}\DotNetMock.csUnitNamespace.xml"> ! <sources basedir="."> ! <includes name="DotNetMock.csUnitNamespace/**/*.cs"/> ! </sources> ! <references basedir="."> ! <includes name="lib/csUnit.dll"/> ! <includes name="build/DotNetMock.Core.dll"/> ! </references> ! </csc> ! <csc target="library" output="${build.dir}/DotNetMock.MbUnitNamespace.dll" debug="${debug}" doc="${build.dir}\DotNetMock.MbUnitNamespace.xml"> ! <sources basedir="."> ! <includes name="DotNetMock.MbUnitNamespace/**/*.cs"/> ! </sources> ! <references basedir="."> ! <includes name="lib/MbUnit.Core.dll"/> ! <includes name="lib/NGraphviz.Layout.dll"/> ! <includes name="lib/QuickGraph.dll"/> ! <includes name="lib/QuickGraph.Concepts.dll"/> ! <includes name="lib/QuickGraph.Exceptions.dll"/> ! <includes name="lib/QuickGraph.Predicates.dll"/> ! <includes name="lib/QuickGraph.Collections.dll"/> ! <includes name="lib/QuickGraph.Algorithms.dll"/> ! <includes name="lib/QuickGraph.Serialization.dll"/> ! <includes name="lib/QuickGraph.Representations.dll"/> <includes name="build/DotNetMock.Core.dll"/> </references> --- 90,100 ---- </references> </csc> ! <csc target="library" output="${build.dir}/DotNetMock.TestFramework.Tests.dll" debug="${debug}"> <sources basedir="."> ! <includes name="DotNetMock.TestFramework.Tests/**/*.cs"/> </sources> <references basedir="."> <includes name="lib/nunit.framework.dll"/> ! <includes name="build/DotNetMock.dll"/> <includes name="build/DotNetMock.Core.dll"/> </references> *************** *** 132,145 **** </fileset> </copy> - <csc target="library" output="${build.dir}/DotNetMock.TestFramework.Tests.dll" debug="${debug}"> - <sources basedir="."> - <includes name="DotNetMock.TestFramework.Tests/**/*.cs"/> - </sources> - <references basedir="."> - <includes name="lib/nunit.framework.dll"/> - <includes name="build/DotNetMock.dll"/> - <includes name="build/DotNetMock.Core.dll"/> - </references> - </csc> </target> <target name="skip-verification" --- 106,109 ---- *************** *** 148,154 **** <exec program="sn" commandline="-Vr ${build.dir}/DotNetMock.dll"/> <exec program="sn" commandline="-Vr ${build.dir}/DotNetMock.Framework.dll"/> - <exec program="sn" commandline="-Vr ${build.dir}/DotNetMock.MbUnitNamespace.dll"/> - <exec program="sn" commandline="-Vr ${build.dir}/DotNetMock.csUnitNamespace.dll"/> - <exec program="sn" commandline="-Vr ${build.dir}/DotNetMock.NUnit.dll"/> </target> <target name="sign-assemblies" depends="build" failonerror="true"> --- 112,115 ---- *************** *** 158,164 **** <include name="${build.dir}/DotNetMock.dll"/> <include name="${build.dir}/DotNetMock.Framework.dll"/> - <include name="${build.dir}/DotNetMock.MbUnitNamespace.dll"/> - <include name="${build.dir}/DotNetMock.csUnitNamespace.dll"/> - <include name="${build.dir}/DotNetMock.NUnit.dll"/> </targets> </delay-sign> --- 119,122 ---- *************** *** 204,222 **** </fileset> </copy> - <copy todir="${src.dir}/DotNetMock.NUnit"> - <fileset basedir="DotNetMock.NUnit"> - <includes name="**/*.cs"/> - </fileset> - </copy> - <copy todir="${src.dir}/DotNetMock.csUnitNamespace"> - <fileset basedir="DotNetMock.csUnitNamespace"> - <includes name="**/*.cs"/> - </fileset> - </copy> - <copy todir="${src.dir}/DotNetMock.MbUnitNamespace"> - <fileset basedir="DotNetMock.MbUnitNamespace"> - <includes name="**/*.cs"/> - </fileset> - </copy> <copy todir="${src.dir}/DotNetMock.Framework"> <fileset basedir="DotNetMock.Framework"> --- 162,165 ---- *************** *** 365,372 **** <includes name="DotNetMock/**/*"/> <includes name="DotNetMock.Core/**/*"/> - <includes name="DotNetMock.csUnitNamespace/**/*"/> <includes name="DotNetMock.Framework/**/*"/> - <includes name="DotNetMock.MbUnitNamespace/**/*"/> - <includes name="DotNetMock.NUnit/**/*"/> <excludes name="DotNetMock.Examples/**/*"/> <excludes name="DotNetMock.Framework.Tests/**/*"/> --- 308,312 ---- *************** *** 386,390 **** <target name="CloverReport" depends="CloverTest" > <clover-report> ! <current title="Spring.NET Code Coverage" output="report"> <format type="html"/> </current> --- 326,330 ---- <target name="CloverReport" depends="CloverTest" > <clover-report> ! <current title=".NET Mock Objects Code Coverage" output="report"> <format type="html"/> </current> |
From: Griffin C. <gc...@us...> - 2005-02-01 23:25:21
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11282/DotNetMock Modified Files: AssemblyInfo.cs Log Message: - Removed signing from AssemblyInfo files. - Removed building of aux test framework classes. - Minor update to clover configuration Index: AssemblyInfo.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/AssemblyInfo.cs,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** AssemblyInfo.cs 27 Jan 2005 05:22:03 -0000 1.14 --- AssemblyInfo.cs 1 Feb 2005 23:24:28 -0000 1.15 *************** *** 15,18 **** [assembly: AssemblyVersion("0.7.3.0")] - [assembly: AssemblyDelaySign(true)] - [assembly: AssemblyKeyFile("dotnetmock.public")] --- 15,16 ---- |
From: Griffin C. <gc...@us...> - 2005-02-01 23:24:58
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.Framework In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11282/DotNetMock.Framework Modified Files: AssemblyInfo.cs Log Message: - Removed signing from AssemblyInfo files. - Removed building of aux test framework classes. - Minor update to clover configuration Index: AssemblyInfo.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Framework/AssemblyInfo.cs,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** AssemblyInfo.cs 27 Jan 2005 05:21:57 -0000 1.7 --- AssemblyInfo.cs 1 Feb 2005 23:24:13 -0000 1.8 *************** *** 13,17 **** [assembly: AssemblyDescription(".NET Implementation of Mock Objects")] [assembly: AssemblyVersion("0.7.3.0")] - [assembly: AssemblyDelaySign(true)] - [assembly: AssemblyKeyFile("dotnetmock.public")] --- 13,15 ---- |
From: Griffin C. <gc...@us...> - 2005-02-01 23:24:56
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11282/DotNetMock.Core Modified Files: AssemblyInfo.cs Log Message: - Removed signing from AssemblyInfo files. - Removed building of aux test framework classes. - Minor update to clover configuration Index: AssemblyInfo.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Core/AssemblyInfo.cs,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** AssemblyInfo.cs 27 Jan 2005 05:21:56 -0000 1.6 --- AssemblyInfo.cs 1 Feb 2005 23:24:13 -0000 1.7 *************** *** 9,14 **** [assembly: AssemblyDescription("Assembly contained core DotNetMock interfaces & classes")] [assembly: AssemblyCompany("DotNetMock")] ! [assembly: AssemblyVersion("0.7.3.0")] ! ! [assembly: AssemblyDelaySign(true)] ! [assembly: AssemblyKeyFile("dotnetmock.public")] \ No newline at end of file --- 9,11 ---- [assembly: AssemblyDescription("Assembly contained core DotNetMock interfaces & classes")] [assembly: AssemblyCompany("DotNetMock")] ! [assembly: AssemblyVersion("0.7.3.0")] \ No newline at end of file |
From: Choy R. <ch...@us...> - 2005-01-29 09:13:42
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock/TestFramework In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14691/DotNetMock/TestFramework Added Files: AbstractStubMaker.cs IDynamicLinker.cs IStubMaker.cs Implementation.cs ImplementationFactory.cs MbUnitStubMaker.cs NUnitStubMaker.cs StubClassBuilder.cs SystemDynamicLinker.cs csUnitStubMaker.cs Log Message: Merged changes in from branch RFE_1098585. * Had a little trouble with the new sn -Vr stuff. I don't normally develop under administrative id. So had to added target skip-verification run as administrator. then ran tests. all pass. --- NEW FILE: MbUnitStubMaker.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using System; using System.Collections; using System.Reflection; using System.Reflection.Emit; #endregion namespace DotNetMock.TestFramework { /// <summary> /// <see cref="IStubMaker"/> for MbUnit. /// </summary> public class MbUnitStubMaker : AbstractStubMaker { /// <summary> /// Create MbUnit stub maker. /// </summary> /// <param name="providerAssembly">MbUnit.Core assembly</param> /// <param name="linker">reflection linkage provider</param> public MbUnitStubMaker( Assembly providerAssembly, IDynamicLinker linker ) : base("MbUnit.Core.Framework.Assert", providerAssembly, linker) { } /// <summary> /// Implement stub methods that forward to the /// MbUnit.Core.Framework.Assert class. /// </summary> /// <param name="ilg"><see cref="ILGenerator"/> for the method /// we are stubbing</param> /// <param name="mi"><see cref="MethodInfo"/> for the method /// we are stubbing</param> public override void ImplementStubMethod(ILGenerator ilg, MethodInfo mi) { IList parameterTypes = GetParameterTypes(mi); // take message parameter and put it at end of parameter list bool hasMessageParameter = parameterTypes.Count>0 && typeof(string).Equals(parameterTypes[0]) ; if ( hasMessageParameter ) { parameterTypes.RemoveAt(0); parameterTypes.Add(typeof(string)); for (int i = 1; i<parameterTypes.Count; ++i) { EmitLdarg(ilg, i+1); } EmitLdarg(ilg, 1); parameterTypes.Add(typeof(object[])); ilg.Emit(OpCodes.Ldnull); } else { for (int i = 0; i<parameterTypes.Count; ++i) { EmitLdarg(ilg, i+1); } } string methodName = MapMethod(mi); EmitProviderCall(ilg, methodName, parameterTypes); } private string MapMethod(MethodInfo mi) { switch ( mi.Name ) { case "Assert": return "IsTrue"; case "AssertNotNull": return "IsNotNull"; case "AssertEquals": return "AreEqual"; case "Fail": return "Fail"; case "AssertNull": return "IsNull"; default: throw new ArgumentException(String.Format( "Cannot map method name {0}", mi.Name )); } } } } --- NEW FILE: SystemDynamicLinker.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using System; using System.Collections; using System.IO; using System.Reflection; using DotNetMock.Core; #endregion namespace DotNetMock.TestFramework { /// <summary> /// Summary description for SystemDynamicLinker. /// </summary> public class SystemDynamicLinker : IDynamicLinker { #region IDynamicLinker Members /// <summary> /// Try to load an <see cref="Assembly"/> by name. /// </summary> /// <param name="name">simple/partial name of desired /// <see cref="Assembly"/></param> /// <returns>desired <see cref="Assembly"/> or null if /// cannot be found</returns> public Assembly LoadAssembly(string name) { try { return Assembly.Load(name); } catch (FileNotFoundException) { return null; } } /// <summary> /// Try to load an <see cref="Assembly"/> by partial name. /// </summary> /// <param name="name">simple/partial name of desired /// <see cref="Assembly"/></param> /// <returns>desired <see cref="Assembly"/> or null if /// cannot be found</returns> public Assembly LoadAssemblyWithPartialName(string name) { try { return Assembly.LoadWithPartialName(name); } catch (FileNotFoundException) { return null; } } /// <summary> /// Get type by name from an assembly. /// </summary> /// <param name="typeName">full name of type</param> /// <param name="assembly">assembly to get it from</param> /// <returns></returns> public Type GetType(string typeName, Assembly assembly) { return assembly.GetType(typeName); } /// <summary> /// Create instance of type. /// </summary> /// <param name="type">desired <see cref="Type"/></param> /// <returns>new instance</returns> public object CreateInstance(Type type) { return Activator.CreateInstance(type); } #endregion } } --- NEW FILE: IStubMaker.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using System; using System.Reflection; using System.Reflection.Emit; #endregion namespace DotNetMock.TestFramework { /// <summary> /// Interface for making method stubs for test framework providers. /// </summary> public interface IStubMaker { /// <summary> /// Implement one of the methods of the interface we are required /// to stub out. /// </summary> /// <param name="ilg"><see cref="ILGenerator"/> of the method /// on the dynamically generated type</param> /// <param name="mi"><see cref="MethodInfo"/> of the method /// on the interface we want to implement</param> void ImplementStubMethod(ILGenerator ilg, MethodInfo mi); } } --- NEW FILE: AbstractStubMaker.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using System; using System.Collections; using System.Reflection; using System.Reflection.Emit; #endregion namespace DotNetMock.TestFramework { /// <summary> /// Abstract base class for implementations of <see cref="IStubMaker"/>. /// </summary> public abstract class AbstractStubMaker : IStubMaker { private Type _providerClass; /// <summary> /// Initialize stub maker. /// </summary> /// <param name="providerClass">class that we will /// forward all methods to</param> public AbstractStubMaker( Type providerClass ) { if ( providerClass==null ) { throw new ArgumentNullException( "providerClass", "Cannot specify null provider class" ); } _providerClass = providerClass; } /// <summary> /// Initialize a stub maker. /// </summary> /// <param name="providerClassName">name of assertion /// class</param> /// <param name="providerAssembly">Assembly that provides /// assertion class</param> /// <param name="linker">reflection linkage provider</param> public AbstractStubMaker( string providerClassName, Assembly providerAssembly, IDynamicLinker linker ) : this(linker.GetType(providerClassName, providerAssembly)) { } #region IStubMaker Members /// <summary> /// Implement one of the methods of the interface we are required /// to stub out. /// </summary> /// <param name="ilg"><see cref="ILGenerator"/> of the method /// on the dynamically generated type</param> /// <param name="mi"><see cref="MethodInfo"/> of the method /// on the interface we want to implement</param> public abstract void ImplementStubMethod(ILGenerator ilg, MethodInfo mi); #endregion /// <summary> /// Get list of parameter types on a <see cref="MethodInfo"/>. /// </summary> /// <param name="mi"><see cref="MethodInfo"/> of method we're /// interested in</param> /// <returns><see cref="IList"/> of parameter types.</returns> protected static IList GetParameterTypes( MethodInfo mi ) { ArrayList types = new ArrayList(); foreach (ParameterInfo pi in mi.GetParameters()) { types.Add(pi.ParameterType); } return types; } /// <summary> /// Emit IL Call to method. /// </summary> /// <param name="ilg"><see cref="ILGenerator"/> of the method /// on the dynamically generated type</param> /// <param name="methodName">name of method to call</param> /// <param name="parameterTypeList"><see cref="IList"/> /// of parameters in method we want to call</param> protected void EmitProviderCall( ILGenerator ilg, string methodName, IList parameterTypeList ) { Type[] parameterTypes = new Type[parameterTypeList.Count]; for (int i = 0; i<parameterTypeList.Count; ++i) { parameterTypes[i] = (Type) parameterTypeList[i]; } MethodInfo mi = _providerClass.GetMethod(methodName, parameterTypes); if ( mi==null ) { throw new ArgumentException(String.Format( "Cannot find method named {0}", methodName )); } ilg.EmitCall(OpCodes.Call, mi, null); } /// <summary> /// Emit IL ldarg /// </summary> /// <param name="ilg"><see cref="ILGenerator"/> of the method /// on the dynamically generated type</param> /// <param name="argIndex">index of argument to put on /// the stack</param> protected static void EmitLdarg( ILGenerator ilg, int argIndex ) { if ( argIndex>0xff ) { ilg.Emit(OpCodes.Ldarg, (short) argIndex); return; } switch (argIndex) { case 0: ilg.Emit(OpCodes.Ldarg_0); break; case 1: ilg.Emit(OpCodes.Ldarg_1); break; case 2: ilg.Emit(OpCodes.Ldarg_2); break; case 3: ilg.Emit(OpCodes.Ldarg_3); break; default: ilg.Emit(OpCodes.Ldarg_S, (sbyte) argIndex); break; } } } } --- NEW FILE: csUnitStubMaker.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using System; using System.Collections; using System.Reflection; using System.Reflection.Emit; #endregion namespace DotNetMock.TestFramework { /// <summary> /// <see cref="IStubMaker"/> for csUnit. /// </summary> public class csUnitStubMaker : AbstractStubMaker { /// <summary> /// Create csUnit stub maker. /// </summary> /// <param name="providerAssembly">csUnit assembly</param> /// <param name="linker">reflection linkage provider</param> public csUnitStubMaker( Assembly providerAssembly, IDynamicLinker linker ) : base("csUnit.Assert", providerAssembly, linker) { } /// <summary> /// Implement stub methods that forward to the /// csUnit.Assert class. /// </summary> /// <param name="ilg"><see cref="ILGenerator"/> for the method /// we are stubbing</param> /// <param name="mi"><see cref="MethodInfo"/> for the method /// we are stubbing</param> public override void ImplementStubMethod(ILGenerator ilg, MethodInfo mi) { IList parameterTypes = GetParameterTypes(mi); // take message parameter and put it at end of parameter list bool hasMessageParameter = parameterTypes.Count>0 && typeof(string).Equals(parameterTypes[0]) ; if ( hasMessageParameter ) { parameterTypes.RemoveAt(0); parameterTypes.Add(typeof(string)); for (int i = 1; i<parameterTypes.Count; ++i) { EmitLdarg(ilg, i+1); } EmitLdarg(ilg, 1); } else { for (int i = 0; i<parameterTypes.Count; ++i) { EmitLdarg(ilg, i+1); } } string methodName = MapMethod(mi); EmitProviderCall(ilg, methodName, parameterTypes); } private string MapMethod(MethodInfo mi) { switch ( mi.Name ) { case "Assert": return "True"; case "AssertNotNull": return "NotNull"; case "AssertEquals": return "Equals"; case "Fail": return "Fail"; case "AssertNull": return "Null"; default: throw new ArgumentException(String.Format( "Cannot map method name {0}", mi.Name )); } } } } --- NEW FILE: StubClassBuilder.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using System; using System.Collections; using System.Reflection; using System.Reflection.Emit; #endregion namespace DotNetMock.TestFramework { /// <summary> /// Creates stub classes that implement an interface. /// </summary> /// <author>Choy Rim</author> public class StubClassMaker { AssemblyBuilder _assemblyBuilder = null; ModuleBuilder _moduleBuilder = null; /// <summary> /// Create stub class maker. /// </summary> public StubClassMaker() { _assemblyBuilder = newAssemblyBuilder(AssemblyBuilderAccess.Run); _moduleBuilder = _assemblyBuilder.DefineDynamicModule("ProviderStub"); } /// <summary> /// /// </summary> /// <param name="supportedInterface">interface which the stub /// class will support</param> /// <param name="stubMaker">object which will generate /// method bodies</param> /// <returns>new stub class</returns> public Type MakeStubClass(Type supportedInterface, IStubMaker stubMaker) { if ( ! supportedInterface.IsInterface ) { throw new ArgumentException( "Can only stub interfaces.", "supportedInterface" ); } TypeBuilder typeBuilder = _moduleBuilder.DefineType( "ProviderStub", TypeAttributes.Public, null, new Type[] { supportedInterface } ); defineAndImplementStubMethods(typeBuilder, supportedInterface, stubMaker); Type stubClass = typeBuilder.CreateType(); return stubClass; } /// <summary> /// Define stub methods through <see cref="IStubMaker"/> /// </summary> /// <param name="typeBuilder">where to add methods</param> /// <param name="supportedInterface">interface which the stub /// class will support</param> /// <param name="stubMaker">object which will generate /// method bodies</param> private static void defineAndImplementStubMethods( TypeBuilder typeBuilder, Type supportedInterface, IStubMaker stubMaker ) { ArrayList methods = new ArrayList(); getMethodsForInterface(supportedInterface, methods); foreach (MethodInfo mi in methods) { MethodBuilder methodBuilder = typeBuilder.DefineMethod( mi.Name, MethodAttributes.Public | MethodAttributes.Virtual, mi.ReturnType, getParameterTypes(mi) ); ILGenerator ilg = methodBuilder.GetILGenerator(); stubMaker.ImplementStubMethod(ilg, mi); ilg.Emit(OpCodes.Ret); } } /// <summary> /// Returns the array of parameters types given a /// <see cref="MethodInfo"/> /// </summary> /// <param name="mi">method we want the parameter types of</param> /// <returns>array of parameter types in method signature</returns> private static Type[] getParameterTypes(MethodInfo mi) { ArrayList types = new ArrayList(); foreach (ParameterInfo pi in mi.GetParameters()) { types.Add(pi.ParameterType); } return (Type[]) types.ToArray(typeof(Type)); } private static void getMethodsForInterface(Type type, ArrayList list) { list.AddRange(type.GetMethods()); foreach (Type interfaceType in type.GetInterfaces()) { getMethodsForInterface(interfaceType, list); } } private static AssemblyBuilder newAssemblyBuilder(AssemblyBuilderAccess access) { AppDomain appDomain = AppDomain.CurrentDomain; AssemblyName assemblyName = new AssemblyName(); assemblyName.Name = "ProviderStubAssembly"; return appDomain.DefineDynamicAssembly( assemblyName, access ); } } } --- NEW FILE: NUnitStubMaker.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using System; using System.Collections; using System.Reflection; using System.Reflection.Emit; #endregion namespace DotNetMock.TestFramework { /// <summary> /// <see cref="IStubMaker"/> for NUnit. /// </summary> public class NUnitStubMaker : AbstractStubMaker { /// <summary> /// Create NUnit stub maker. /// </summary> /// <param name="providerAssembly">nunit.framework assembly</param> /// <param name="linker">reflection linkage provider</param> public NUnitStubMaker( Assembly providerAssembly, IDynamicLinker linker ) : base("NUnit.Framework.Assertion", providerAssembly, linker) { } /// <summary> /// Implement stub methods that forward to the /// NUnit.Framework.Assertion class. /// </summary> /// <param name="ilg"><see cref="ILGenerator"/> for the method /// we are stubbing</param> /// <param name="mi"><see cref="MethodInfo"/> for the method /// we are stubbing</param> public override void ImplementStubMethod(ILGenerator ilg, MethodInfo mi) { IList parameterTypes = GetParameterTypes(mi); for (int i = 0; i<parameterTypes.Count; ++i) { EmitLdarg(ilg, i+1); } EmitProviderCall(ilg, mi.Name, parameterTypes); } } } --- NEW FILE: IDynamicLinker.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using System; using System.Collections; using System.Reflection; using DotNetMock.Core; #endregion namespace DotNetMock.TestFramework { /// <summary> /// Interface for dynamically loading assemblies, accessing their /// types and creating instances of those types. /// </summary> public interface IDynamicLinker { /// <summary> /// Try to load an <see cref="Assembly"/> by simple name. /// </summary> /// <param name="name">simple name of desired /// <see cref="Assembly"/></param> /// <returns>desired <see cref="Assembly"/> or null if /// cannot be found</returns> Assembly LoadAssembly(string name); /// <summary> /// Try to load an <see cref="Assembly"/> by partial name. /// </summary> /// <param name="name">partial name of desired /// <see cref="Assembly"/></param> /// <returns>desired <see cref="Assembly"/> or null if /// cannot be found</returns> Assembly LoadAssemblyWithPartialName(string name); /// <summary> /// Get type by name from an assembly. /// </summary> /// <param name="typeName">full name of type</param> /// <param name="assembly">assembly to get it from</param> /// <returns></returns> Type GetType(string typeName, Assembly assembly); /// <summary> /// Create instance of type. /// </summary> /// <param name="type">desired <see cref="Type"/></param> /// <returns>new instance</returns> object CreateInstance(Type type); } } --- NEW FILE: Implementation.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using System; using System.Collections; using DotNetMock.Core; #endregion namespace DotNetMock.TestFramework { /// <summary> /// Responsible for obtaining an implementation /// of <see cref="ITestFramework"/> for DotNetMock to use. /// </summary> public class Implementation { private static ITestFramework _instance = null; private static object _lock = new object(); /// <summary> /// Global instance of <see cref="ITestFramework"/> /// implementation used by the rest of DotNetMock. /// </summary> public static ITestFramework Instance { get { // the synchronization here may be overkill // but just in case ... lock ( _lock ) { if ( _instance==null ) { IDictionary env = Environment.GetEnvironmentVariables(); IDynamicLinker linker = new SystemDynamicLinker(); ImplementationFactory factory = new ImplementationFactory(env, linker); _instance = factory.NewImplementation(); } return _instance; } } } } } --- NEW FILE: ImplementationFactory.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using System; using System.Collections; using System.Reflection; using DotNetMock.Core; #endregion namespace DotNetMock.TestFramework { /// <summary> /// Creates an implementation of <see cref="ITestFramework"/> /// based on settings in the environment. /// </summary> public class ImplementationFactory { const string STATIC_IMPLEMENTATION_ASSEMBLY_KEY = "DotNetMock_TestingAssembly"; const string STATIC_IMPLEMENTATION_TYPE_KEY = "DotNetMock_TestingComponent"; const string NUNIT_ASSEMBLY_NAME = "nunit.framework"; const string MBUNIT_ASSEMBLY_NAME = "MbUnit.Core"; const string CSUNIT_ASSEMBLY_NAME = "csUnit"; private IDictionary _env; private IDynamicLinker _linker; /// <summary> /// Create an implementation factory. /// </summary> /// <param name="env"><see cref="IDictionary"/> of environment /// variable name value entries</param> /// <param name="linker">provider of reflection services</param> public ImplementationFactory(IDictionary env, IDynamicLinker linker) { _env = env; _linker = linker; } /// <summary> /// Create an appropriate implementation for the given /// environment. /// </summary> /// <returns>a new <see cref="ITestFramework"/></returns> public ITestFramework NewImplementation() { Type implementationType = getStaticImplementationType(); if ( implementationType==null ) { implementationType = getDynamicImplementationType(); } if ( implementationType==null ) { throw new SystemException( "Cannot find an appropriate test framework implementation." ); } ITestFramework implementation = (ITestFramework) _linker.CreateInstance(implementationType); return implementation; } private Type getStaticImplementationType() { string assemblyName = (string) _env[STATIC_IMPLEMENTATION_ASSEMBLY_KEY]; if ( (assemblyName==null) || (assemblyName.Equals(String.Empty)) ) { return null; } string typeName = (string) _env[STATIC_IMPLEMENTATION_TYPE_KEY]; if ( (typeName==null) || (typeName.Equals(String.Empty)) ) { return null; } Assembly assembly = _linker.LoadAssembly(assemblyName); Type type = _linker.GetType(typeName, assembly); return type; } private Type getDynamicImplementationType() { StubClassMaker classMaker = new StubClassMaker(); IStubMaker stubMaker = null; Assembly assembly = null; if ( (assembly=_linker.LoadAssembly(NUNIT_ASSEMBLY_NAME))!=null ) { stubMaker = new NUnitStubMaker(assembly, _linker); } else if ( (assembly=_linker.LoadAssembly(MBUNIT_ASSEMBLY_NAME))!=null ) { stubMaker = new MbUnitStubMaker(assembly, _linker); } else if ( (assembly=_linker.LoadAssembly(CSUNIT_ASSEMBLY_NAME))!=null ) { stubMaker = new csUnitStubMaker(assembly, _linker); } else if ( (assembly=_linker.LoadAssemblyWithPartialName(NUNIT_ASSEMBLY_NAME))!=null ) { stubMaker = new NUnitStubMaker(assembly, _linker); } else if ( (assembly=_linker.LoadAssemblyWithPartialName(MBUNIT_ASSEMBLY_NAME))!=null ) { stubMaker = new MbUnitStubMaker(assembly, _linker); } else if ( (assembly=_linker.LoadAssemblyWithPartialName(CSUNIT_ASSEMBLY_NAME))!=null ) { stubMaker = new csUnitStubMaker(assembly, _linker); } else { return null; } Type stubClass = classMaker.MakeStubClass( typeof(ITestFramework), stubMaker ); return stubClass; } } } |
From: Choy R. <ch...@us...> - 2005-01-29 09:13:41
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.TestFramework.Tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14691/DotNetMock.TestFramework.Tests Added Files: .cvsignore AssemblyInfo.cs DotNetMock.TestFramework.Tests.csproj ImplementationFactoryTests.cs MbUnitStubMakerTests.cs NUnitStubMakerTests.cs StubClassMakerTests.cs csUnitStubMakerTests.cs Log Message: Merged changes in from branch RFE_1098585. * Had a little trouble with the new sn -Vr stuff. I don't normally develop under administrative id. So had to added target skip-verification run as administrator. then ran tests. all pass. --- NEW FILE: .cvsignore --- bin obj *.csproj.user --- NEW FILE: NUnitStubMakerTests.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using System; using System.Reflection; using System.Reflection.Emit; using NUnit.Framework; using DotNetMock.TestFramework; using DotNetMock.Core; #endregion namespace DotNetMock.TestFramework.Tests { [TestFixture] public class NUnitStubMakerTests { [Test] public void Basic() { Assembly providerAssembly = Assembly.Load("nunit.framework"); NUnitStubMaker stubMaker = new NUnitStubMaker( providerAssembly, new SystemDynamicLinker() ); StubClassMaker scm = new StubClassMaker(); Type stubClass = scm.MakeStubClass(typeof(ITestFramework), stubMaker); ITestFramework tf = (ITestFramework) Activator.CreateInstance(stubClass); tf.Assert(true); tf.AssertEquals(1, 1); } } } --- NEW FILE: DotNetMock.TestFramework.Tests.csproj --- <VisualStudioProject> <CSHARP ProjectType = "Local" ProductVersion = "7.10.3077" SchemaVersion = "2.0" ProjectGuid = "{6C2904D4-ADCC-4980-AED0-64A8C6F3AF69}" > <Build> <Settings ApplicationIcon = "" AssemblyKeyContainerName = "" AssemblyName = "DotNetMock.TestFramework.Tests" AssemblyOriginatorKeyFile = "" DefaultClientScript = "JScript" DefaultHTMLPageLayout = "Grid" DefaultTargetSchema = "IE50" DelaySign = "false" OutputType = "Library" PreBuildEvent = "" PostBuildEvent = "" RootNamespace = "DotNetMock.TestFramework.Tests" RunPostBuildEvent = "OnBuildSuccess" StartupObject = "" > <Config Name = "Debug" AllowUnsafeBlocks = "false" BaseAddress = "285212672" CheckForOverflowUnderflow = "false" ConfigurationOverrideFile = "" DefineConstants = "DEBUG;TRACE" DocumentationFile = "" DebugSymbols = "true" FileAlignment = "4096" IncrementalBuild = "false" NoStdLib = "false" NoWarn = "" Optimize = "false" OutputPath = "bin\Debug\" RegisterForComInterop = "false" RemoveIntegerChecks = "false" TreatWarningsAsErrors = "false" WarningLevel = "4" /> <Config Name = "Release" AllowUnsafeBlocks = "false" BaseAddress = "285212672" CheckForOverflowUnderflow = "false" ConfigurationOverrideFile = "" DefineConstants = "TRACE" DocumentationFile = "" DebugSymbols = "false" FileAlignment = "4096" IncrementalBuild = "false" NoStdLib = "false" NoWarn = "" Optimize = "true" OutputPath = "bin\Release\" RegisterForComInterop = "false" RemoveIntegerChecks = "false" TreatWarningsAsErrors = "false" WarningLevel = "4" /> </Settings> <References> <Reference Name = "System" AssemblyName = "System" HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll" /> <Reference Name = "System.Data" AssemblyName = "System.Data" HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.dll" /> <Reference Name = "System.XML" AssemblyName = "System.Xml" HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.XML.dll" /> <Reference Name = "DotNetMock.Core" Project = "{5666DF57-5109-4C5F-967D-EEDC554B8E55}" Package = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}" /> <Reference Name = "DotNetMock" Project = "{1AD0CD00-16FA-4456-B2ED-A47406957228}" Package = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}" /> <Reference Name = "nunit.framework" AssemblyName = "nunit.framework" HintPath = "..\lib\nunit.framework.dll" Private = "True" /> </References> </Build> <Files> <Include> <File RelPath = "AssemblyInfo.cs" SubType = "Code" BuildAction = "Compile" /> <File RelPath = "csUnitStubMakerTests.cs" SubType = "Code" BuildAction = "Compile" /> <File RelPath = "ImplementationFactoryTests.cs" SubType = "Code" BuildAction = "Compile" /> <File RelPath = "MbUnitStubMakerTests.cs" SubType = "Code" BuildAction = "Compile" /> <File RelPath = "NUnitStubMakerTests.cs" SubType = "Code" BuildAction = "Compile" /> <File RelPath = "StubClassMakerTests.cs" SubType = "Code" BuildAction = "Compile" /> </Include> </Files> </CSHARP> </VisualStudioProject> --- NEW FILE: csUnitStubMakerTests.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using System; using System.Reflection; using System.Reflection.Emit; using NUnit.Framework; using DotNetMock.TestFramework; using DotNetMock.Core; #endregion namespace DotNetMock.TestFramework.Tests { [TestFixture] public class csUnitStubMakerTests { static readonly Assembly providerAssembly = Assembly.GetExecutingAssembly(); const string EXPECTED_MESSAGE = "MESSAGE"; const string NOT_NULL = "NOT-NULL"; ITestFramework tf; static string MethodName { get { return csUnit.Assert.MethodName; } } static object[] Arguments { get { return csUnit.Assert.Arguments; } } [Test] public void CheckAssert() { tf.Assert(true); Assert.AreEqual("True", MethodName); Assert.AreEqual(1, Arguments.Length); Assert.AreEqual(true, Arguments[0]); tf.Assert(false); Assert.AreEqual("True", MethodName); Assert.AreEqual(1, Arguments.Length); Assert.AreEqual(false, Arguments[0]); } [Test] public void CheckAssertWithMessage() { tf.Assert(EXPECTED_MESSAGE, true); Assert.AreEqual("True", MethodName); Assert.AreEqual(2, Arguments.Length); Assert.AreEqual(true, Arguments[0]); Assert.AreEqual(EXPECTED_MESSAGE, Arguments[1]); tf.Assert(EXPECTED_MESSAGE, false); Assert.AreEqual("True", MethodName); Assert.AreEqual(2, Arguments.Length); Assert.AreEqual(false, Arguments[0]); Assert.AreEqual(EXPECTED_MESSAGE, Arguments[1]); } [Test] public void CheckAssertNotNull() { tf.AssertNotNull(NOT_NULL); Assert.AreEqual("NotNull", MethodName); Assert.AreEqual(1, Arguments.Length); Assert.AreSame(NOT_NULL, Arguments[0]); tf.AssertNotNull(null); Assert.AreEqual("NotNull", MethodName); Assert.AreEqual(1, Arguments.Length); Assert.IsNull(Arguments[0]); } [Test] public void CheckAssertNotNullWithMessage() { tf.AssertNotNull(EXPECTED_MESSAGE, NOT_NULL); Assert.AreEqual("NotNull", MethodName); Assert.AreEqual(2, Arguments.Length); Assert.AreSame(NOT_NULL, Arguments[0]); Assert.AreEqual(EXPECTED_MESSAGE, Arguments[1]); tf.AssertNotNull(EXPECTED_MESSAGE, null); Assert.AreEqual("NotNull", MethodName); Assert.AreEqual(2, Arguments.Length); Assert.IsNull(Arguments[0]); Assert.AreEqual(EXPECTED_MESSAGE, Arguments[1]); } [Test] public void CheckAssertNull() { tf.AssertNull(NOT_NULL); Assert.AreEqual("Null", MethodName); Assert.AreEqual(1, Arguments.Length); Assert.AreSame(NOT_NULL, Arguments[0]); tf.AssertNull(null); Assert.AreEqual("Null", MethodName); Assert.AreEqual(1, Arguments.Length); Assert.IsNull(Arguments[0]); } [Test] public void CheckAssertNullWithMessage() { tf.AssertNull(EXPECTED_MESSAGE, NOT_NULL); Assert.AreEqual("Null", MethodName); Assert.AreEqual(2, Arguments.Length); Assert.AreSame(NOT_NULL, Arguments[0]); Assert.AreEqual(EXPECTED_MESSAGE, Arguments[1]); tf.AssertNull(EXPECTED_MESSAGE, null); Assert.AreEqual("Null", MethodName); Assert.AreEqual(2, Arguments.Length); Assert.IsNull(Arguments[0]); Assert.AreEqual(EXPECTED_MESSAGE, Arguments[1]); } [Test] public void CheckFail() { tf.Fail(); Assert.AreEqual("Fail", MethodName); Assert.AreEqual(0, Arguments.Length); } [Test] public void CheckFailWithMessage() { tf.Fail(EXPECTED_MESSAGE); Assert.AreEqual("Fail", MethodName); Assert.AreEqual(1, Arguments.Length); Assert.AreEqual(EXPECTED_MESSAGE, Arguments[0]); } [Test] public void CheckAssertEquals() { tf.AssertEquals(1, 1); Assert.AreEqual("Equals", MethodName); Assert.AreEqual(2, Arguments.Length); Assert.AreEqual(1, Arguments[0]); Assert.AreEqual(1, Arguments[1]); } [Test] public void CheckAssertEqualsWithMessage() { tf.AssertEquals(EXPECTED_MESSAGE, 1, 1); Assert.AreEqual("Equals", MethodName); Assert.AreEqual(3, Arguments.Length); Assert.AreEqual(1, Arguments[0]); Assert.AreEqual(1, Arguments[1]); Assert.AreEqual(EXPECTED_MESSAGE, Arguments[2]); } [SetUp] public void BeforeEachTest() { // reset mock csUnit implementation csUnit.Assert.Reset(); // make provider stub instance tf = MakeProviderStubInstance(); } ITestFramework MakeProviderStubInstance() { csUnitStubMaker stubMaker = new csUnitStubMaker( providerAssembly, new SystemDynamicLinker() ); StubClassMaker scm = new StubClassMaker(); Type stubClass = scm.MakeStubClass(typeof(ITestFramework), stubMaker); ITestFramework stub = (ITestFramework) Activator.CreateInstance(stubClass); return stub; } } } namespace csUnit { /// <summary> /// Mock implementation of csUnit.Assert for testing. /// </summary> public class Assert { static string _methodName; static object[] _args = null; public static string MethodName { get { return _methodName; } } public static object[] Arguments { get { return _args; } } public static void Reset() { _methodName = null; _args = null; } public static void True(bool expression) { _methodName = "True"; _args = new object[] { expression }; } public static void True(bool expression, string message) { _methodName = "True"; _args = new object[] { expression, message }; } public static void NotNull(object obj) { _methodName = "NotNull"; _args = new object[] { obj }; } public static void NotNull(object obj, string message) { _methodName = "NotNull"; _args = new object[] { obj, message }; } public static new void Equals(object expected, object actual) { _methodName = "Equals"; _args = new object[] { expected, actual }; } public static void Equals( object expected, object actual, string message ) { _methodName = "Equals"; _args = new object[] { expected, actual, message }; } public static void Fail() { _methodName = "Fail"; _args = new object[0]; } public static void Fail(string message) { _methodName = "Fail"; _args = new object[] { message }; } public static void Null(object obj) { _methodName = "Null"; _args = new object[] { obj }; } public static void Null(object obj, string message) { _methodName = "Null"; _args = new object[] { obj, message }; } } } --- NEW FILE: MbUnitStubMakerTests.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using System; using System.Reflection; using System.Reflection.Emit; using NUnit.Framework; using DotNetMock.TestFramework; using DotNetMock.Core; #endregion namespace DotNetMock.TestFramework.Tests { [TestFixture] public class MbUnitStubMakerTests { static readonly Assembly providerAssembly = Assembly.GetExecutingAssembly(); const string EXPECTED_MESSAGE = "MESSAGE"; const string NOT_NULL = "NOT-NULL"; ITestFramework tf; static string MethodName { get { return MbUnit.Core.Framework.Assert.MethodName; } } static object[] Arguments { get { return MbUnit.Core.Framework.Assert.Arguments; } } [Test] public void CheckAssert() { tf.Assert(true); Assert.AreEqual("IsTrue", MethodName); Assert.AreEqual(1, Arguments.Length); Assert.AreEqual(true, Arguments[0]); tf.Assert(false); Assert.AreEqual("IsTrue", MethodName); Assert.AreEqual(1, Arguments.Length); Assert.AreEqual(false, Arguments[0]); } [Test] public void CheckAssertWithMessage() { tf.Assert(EXPECTED_MESSAGE, true); Assert.AreEqual("IsTrue", MethodName); Assert.AreEqual(3, Arguments.Length); Assert.AreEqual(true, Arguments[0]); Assert.AreEqual(EXPECTED_MESSAGE, Arguments[1]); tf.Assert(EXPECTED_MESSAGE, false); Assert.AreEqual("IsTrue", MethodName); Assert.AreEqual(3, Arguments.Length); Assert.AreEqual(false, Arguments[0]); Assert.AreEqual(EXPECTED_MESSAGE, Arguments[1]); } [Test] public void CheckAssertNotNull() { tf.AssertNotNull(NOT_NULL); Assert.AreEqual("IsNotNull", MethodName); Assert.AreEqual(1, Arguments.Length); Assert.AreSame(NOT_NULL, Arguments[0]); tf.AssertNotNull(null); Assert.AreEqual("IsNotNull", MethodName); Assert.AreEqual(1, Arguments.Length); Assert.IsNull(Arguments[0]); } [Test] public void CheckAssertNotNullWithMessage() { tf.AssertNotNull(EXPECTED_MESSAGE, NOT_NULL); Assert.AreEqual("IsNotNull", MethodName); Assert.AreEqual(3, Arguments.Length); Assert.AreSame(NOT_NULL, Arguments[0]); Assert.AreEqual(EXPECTED_MESSAGE, Arguments[1]); tf.AssertNotNull(EXPECTED_MESSAGE, null); Assert.AreEqual("IsNotNull", MethodName); Assert.AreEqual(3, Arguments.Length); Assert.IsNull(Arguments[0]); Assert.AreEqual(EXPECTED_MESSAGE, Arguments[1]); } [Test] public void CheckAssertNull() { tf.AssertNull(NOT_NULL); Assert.AreEqual("IsNull", MethodName); Assert.AreEqual(1, Arguments.Length); Assert.AreSame(NOT_NULL, Arguments[0]); tf.AssertNull(null); Assert.AreEqual("IsNull", MethodName); Assert.AreEqual(1, Arguments.Length); Assert.IsNull(Arguments[0]); } [Test] public void CheckAssertNullWithMessage() { tf.AssertNull(EXPECTED_MESSAGE, NOT_NULL); Assert.AreEqual("IsNull", MethodName); Assert.AreEqual(3, Arguments.Length); Assert.AreSame(NOT_NULL, Arguments[0]); Assert.AreEqual(EXPECTED_MESSAGE, Arguments[1]); tf.AssertNull(EXPECTED_MESSAGE, null); Assert.AreEqual("IsNull", MethodName); Assert.AreEqual(3, Arguments.Length); Assert.IsNull(Arguments[0]); Assert.AreEqual(EXPECTED_MESSAGE, Arguments[1]); } [Test] public void CheckFail() { tf.Fail(); Assert.AreEqual("Fail", MethodName); Assert.AreEqual(0, Arguments.Length); } [Test] public void CheckFailWithMessage() { tf.Fail(EXPECTED_MESSAGE); Assert.AreEqual("Fail", MethodName); Assert.AreEqual(2, Arguments.Length); Assert.AreEqual(EXPECTED_MESSAGE, Arguments[0]); } [Test] public void CheckAssertEquals() { tf.AssertEquals(1, 1); Assert.AreEqual("AreEqual", MethodName); Assert.AreEqual(2, Arguments.Length); Assert.AreEqual(1, Arguments[0]); Assert.AreEqual(1, Arguments[1]); } [Test] public void CheckAssertEqualsWithMessage() { tf.AssertEquals(EXPECTED_MESSAGE, 1, 1); Assert.AreEqual("AreEqual", MethodName); Assert.AreEqual(4, Arguments.Length); Assert.AreEqual(1, Arguments[0]); Assert.AreEqual(1, Arguments[1]); Assert.AreEqual(EXPECTED_MESSAGE, Arguments[2]); } [SetUp] public void BeforeEachTest() { // reset mock MbUnit implementation MbUnit.Core.Framework.Assert.Reset(); // make provider stub instance tf = MakeProviderStubInstance(); } ITestFramework MakeProviderStubInstance() { MbUnitStubMaker stubMaker = new MbUnitStubMaker( providerAssembly, new SystemDynamicLinker() ); StubClassMaker scm = new StubClassMaker(); Type stubClass = scm.MakeStubClass(typeof(ITestFramework), stubMaker); ITestFramework stub = (ITestFramework) Activator.CreateInstance(stubClass); return stub; } } } namespace MbUnit.Core.Framework { /// <summary> /// Mock implementation of MbUnit.Core.Framework.Assert for testing. /// </summary> public class Assert { static string _methodName; static object[] _args = null; public static string MethodName { get { return _methodName; } } public static object[] Arguments { get { return _args; } } public static void Reset() { _methodName = null; _args = null; } public static void IsTrue(bool assertion) { _methodName = "IsTrue"; _args = new object[] { assertion }; } public static void IsTrue(bool assertion, string format, params object[] args) { _methodName = "IsTrue"; _args = new object[] { assertion, format, args }; } public static void IsNotNull(object nullable) { _methodName = "IsNotNull"; _args = new object[] { nullable }; } public static void IsNotNull(object nullable, string format, params object[] args) { _methodName = "IsNotNull"; _args = new object[] { nullable, format, args }; } public static void AreEqual(object expected, object actual) { _methodName = "AreEqual"; _args = new object[] { expected, actual }; } public static void AreEqual( object expected, object actual, string format, params object[] args ) { _methodName = "AreEqual"; _args = new object[] { expected, actual, format, args }; } public static void Fail() { _methodName = "Fail"; _args = new object[0]; } public static void Fail(string format, params object[] args) { _methodName = "Fail"; _args = new object[] { format, args }; } public static void IsNull(object nullable) { _methodName = "IsNull"; _args = new object[] { nullable }; } public static void IsNull(object nullable, string format, params object[] args) { _methodName = "IsNull"; _args = new object[] { nullable, format, args }; } } } --- NEW FILE: StubClassMakerTests.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using System; using System.Reflection; using System.Reflection.Emit; using NUnit.Framework; using DotNetMock.TestFramework; #endregion namespace DotNetMock.TestFramework.Tests { [TestFixture] public class StubClassMakerTests { static bool CalledMethod1; interface ITrivialProvider { void Method1(); } class TrivialStubMaker : AbstractStubMaker { public TrivialStubMaker() : base(typeof(StubClassMakerTests)) { } public override void ImplementStubMethod(ILGenerator ilg, MethodInfo mi) { EmitProviderCall(ilg, "RealMethod1", new Type[0]); } } public static void RealMethod1() { CalledMethod1 = true; } [Test] public void TrivialProviderInterface() { StubClassMaker classBuilder = new StubClassMaker(); TrivialStubMaker tsm = new TrivialStubMaker(); Type stubClass = classBuilder.MakeStubClass( typeof(ITrivialProvider), tsm ); ITrivialProvider provider = (ITrivialProvider) Activator.CreateInstance(stubClass); provider.Method1(); Assert.IsTrue(CalledMethod1); } [SetUp] public void BeforeEachTest() { CalledMethod1 = false; } } } --- NEW FILE: ImplementationFactoryTests.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using System; using System.Collections; using System.Reflection; using NUnit.Framework; using DotNetMock.TestFramework; using DotNetMock.Core; #endregion namespace DotNetMock.TestFramework.Tests { [TestFixture] public class ImplementationFactoryTests { const string EXPECTED_STATIC_ASSEMBLY_NAME = "Assembly"; static readonly string EXPECTED_STATIC_TYPE_NAME = typeof(TestStaticImplementation).FullName; MockLinker linker; TestStaticImplementation implementation; Hashtable env; [Test] public void UseStaticImplementation() { linker.ExpectedAssemblyName = EXPECTED_STATIC_ASSEMBLY_NAME; linker.ExpectedAssembly = Assembly.GetExecutingAssembly(); linker.ExpectedType = typeof(TestStaticImplementation); env["DotNetMock_TestingAssembly"] = EXPECTED_STATIC_ASSEMBLY_NAME; env["DotNetMock_TestingComponent"] = EXPECTED_STATIC_TYPE_NAME; ImplementationFactory factory = new ImplementationFactory(env, linker); ITestFramework tf = factory.NewImplementation(); Assert.IsNotNull(tf); Assert.AreSame(implementation, tf); Assert.AreEqual(1, linker.ActualAssemblyNames.Count); Assert.AreEqual("Assembly", linker.ActualAssemblyNames.Pop()); Assert.AreEqual(EXPECTED_STATIC_TYPE_NAME, linker.ActualTypeName); Assert.AreSame(Assembly.GetExecutingAssembly(), linker.ActualAssembly); Assert.AreEqual(typeof(TestStaticImplementation), linker.ActualType); } [Test] public void UseDynamicNUnitImplementation() { linker.ExpectedAssemblyName = "nunit.framework"; linker.ExpectedAssembly = typeof(NUnit.Framework.Assertion).Module.Assembly; linker.ExpectedType = typeof(NUnit.Framework.Assertion); ImplementationFactory factory = new ImplementationFactory(env, linker); ITestFramework tf = factory.NewImplementation(); Assert.IsNotNull(tf); Assert.AreSame(implementation, tf); Assert.AreEqual(1, linker.ActualAssemblyNames.Count); Assert.AreEqual("nunit.framework", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("NUnit.Framework.Assertion", linker.ActualTypeName); Assert.AreSame(typeof(NUnit.Framework.Assertion).Module.Assembly, linker.ActualAssembly); Assert.AreEqual("ProviderStub", linker.ActualType.FullName); } [Test] public void UseDynamicMbUnitImplementation() { linker.ExpectedAssemblyName = "MbUnit.Core"; linker.ExpectedAssembly = Assembly.GetExecutingAssembly(); linker.ExpectedType = typeof(MbUnit.Core.Framework.Assert); ImplementationFactory factory = new ImplementationFactory(env, linker); ITestFramework tf = factory.NewImplementation(); Assert.IsNotNull(tf); Assert.AreSame(implementation, tf); Assert.AreEqual(2, linker.ActualAssemblyNames.Count); Assert.AreEqual("MbUnit.Core", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("nunit.framework", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("MbUnit.Core.Framework.Assert", linker.ActualTypeName); Assert.AreSame(Assembly.GetExecutingAssembly(), linker.ActualAssembly); Assert.AreEqual("ProviderStub", linker.ActualType.FullName); } [Test] public void UseDynamicCsUnitImplementation() { linker.ExpectedAssemblyName = "csUnit"; linker.ExpectedAssembly = Assembly.GetExecutingAssembly(); linker.ExpectedType = typeof(csUnit.Assert); ImplementationFactory factory = new ImplementationFactory(env, linker); ITestFramework tf = factory.NewImplementation(); Assert.IsNotNull(tf); Assert.AreSame(implementation, tf); Assert.AreEqual(3, linker.ActualAssemblyNames.Count); Assert.AreEqual("csUnit", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("MbUnit.Core", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("nunit.framework", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("csUnit.Assert", linker.ActualTypeName); Assert.AreSame(Assembly.GetExecutingAssembly(), linker.ActualAssembly); Assert.AreEqual("ProviderStub", linker.ActualType.FullName); } [Test] public void UseDynamicNUnitImplementationViaPartialName() { linker.ExpectedAssemblyName = "xxx"; linker.ExpectedPartialAssemblyName = "nunit.framework"; linker.ExpectedAssembly = typeof(NUnit.Framework.Assertion).Module.Assembly; linker.ExpectedType = typeof(NUnit.Framework.Assertion); ImplementationFactory factory = new ImplementationFactory(env, linker); ITestFramework tf = factory.NewImplementation(); Assert.IsNotNull(tf); Assert.AreSame(implementation, tf); Assert.AreEqual(4, linker.ActualAssemblyNames.Count); Assert.AreEqual("nunit.framework", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("csUnit", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("MbUnit.Core", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("nunit.framework", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("NUnit.Framework.Assertion", linker.ActualTypeName); Assert.AreSame(typeof(NUnit.Framework.Assertion).Module.Assembly, linker.ActualAssembly); Assert.AreEqual("ProviderStub", linker.ActualType.FullName); } [Test] public void UseDynamicMbUnitImplementationViaPartialName() { linker.ExpectedAssemblyName = "xxx"; linker.ExpectedPartialAssemblyName = "MbUnit.Core"; linker.ExpectedAssembly = Assembly.GetExecutingAssembly(); linker.ExpectedType = typeof(MbUnit.Core.Framework.Assert); ImplementationFactory factory = new ImplementationFactory(env, linker); ITestFramework tf = factory.NewImplementation(); Assert.IsNotNull(tf); Assert.AreSame(implementation, tf); Assert.AreEqual(5, linker.ActualAssemblyNames.Count); Assert.AreEqual("MbUnit.Core", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("nunit.framework", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("csUnit", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("MbUnit.Core", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("nunit.framework", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("MbUnit.Core.Framework.Assert", linker.ActualTypeName); Assert.AreSame(Assembly.GetExecutingAssembly(), linker.ActualAssembly); Assert.AreEqual("ProviderStub", linker.ActualType.FullName); } [Test] public void UseDynamicCsUnitImplementationViaPartialName() { linker.ExpectedAssemblyName = "xxx"; linker.ExpectedPartialAssemblyName = "csUnit"; linker.ExpectedAssembly = Assembly.GetExecutingAssembly(); linker.ExpectedType = typeof(csUnit.Assert); ImplementationFactory factory = new ImplementationFactory(env, linker); ITestFramework tf = factory.NewImplementation(); Assert.IsNotNull(tf); Assert.AreSame(implementation, tf); Assert.AreEqual(6, linker.ActualAssemblyNames.Count); Assert.AreEqual("csUnit", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("MbUnit.Core", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("nunit.framework", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("csUnit", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("MbUnit.Core", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("nunit.framework", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("csUnit.Assert", linker.ActualTypeName); Assert.AreSame(Assembly.GetExecutingAssembly(), linker.ActualAssembly); Assert.AreEqual("ProviderStub", linker.ActualType.FullName); } [SetUp] public void BeforeEachTest() { linker = new MockLinker(); implementation = new TestStaticImplementation(); env = new Hashtable(); linker.ExpectedInstance = implementation; } public class TestStaticImplementation : ITestFramework { #region ITestFramework Members public void Assert(bool assertion) { // TODO: Add TestStaticImplementation.Assert implementation } void DotNetMock.Core.ITestFramework.Assert(string message, bool assertion) { // TODO: Add TestStaticImplementation.DotNetMock.Core.ITestFramework.Assert implementation } public void AssertNotNull(object assertion) { // TODO: Add TestStaticImplementation.AssertNotNull implementation } void DotNetMock.Core.ITestFramework.AssertNotNull(string message, object assertion) { // TODO: Add TestStaticImplementation.DotNetMock.Core.ITestFramework.AssertNotNull implementation } public void AssertEquals(object expectedObject, object actualObject) { // TODO: Add TestStaticImplementation.AssertEquals implementation } void DotNetMock.Core.ITestFramework.AssertEquals(string message, object expectedObject, object actualObject) { // TODO: Add TestStaticImplementation.DotNetMock.Core.ITestFramework.AssertEquals implementation } public void Fail(string message) { // TODO: Add TestStaticImplementation.Fail implementation } void DotNetMock.Core.ITestFramework.Fail() { // TODO: Add TestStaticImplementation.DotNetMock.Core.ITestFramework.Fail implementation } public void AssertNull(object assertion) { // TODO: Add TestStaticImplementation.AssertNull implementation } void DotNetMock.Core.ITestFramework.AssertNull(string message, object assertion) { // TODO: Add TestStaticImplementation.DotNetMock.Core.ITestFramework.AssertNull implementation } #endregion } class MockLinker : IDynamicLinker { public Stack ActualAssemblyNames = new Stack(); public string ExpectedAssemblyName = null; public string ExpectedPartialAssemblyName = null; public Assembly ExpectedAssembly = null; public string ActualTypeName = null; public Assembly ActualAssembly = null; public Type ExpectedType = null; public Type ActualType = null; public object ExpectedInstance = null; #region IDynamicLinker Members public Assembly LoadAssembly(string name) { ActualAssemblyNames.Push(name); if ( name!=ExpectedAssemblyName ) { return null; } return ExpectedAssembly; } public Assembly LoadAssemblyWithPartialName(string name) { ActualAssemblyNames.Push(name); if ( name!=ExpectedPartialAssemblyName ) { return null; } return ExpectedAssembly; } public Type GetType(string typeName, Assembly assembly) { ActualTypeName = typeName; ActualAssembly = assembly; return ExpectedType; } public object CreateInstance(Type type) { ActualType = type; return ExpectedInstance; } #endregion } } } --- NEW FILE: AssemblyInfo.cs --- using System.Reflection; using System.Runtime.CompilerServices; // // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. // [assembly: AssemblyTitle("")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("")] [assembly: AssemblyCopyright("")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // // Version information for an assembly consists of the following four values: // // Major Version // Minor Version // Build Number // Revision // // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: [assembly: AssemblyVersion("1.0.*")] // // In order to sign your assembly you must specify a key to use. Refer to the // Microsoft .NET Framework documentation for more information on assembly signing. // // Use the attributes below to control which key is used for signing. // // Notes: // (*) If no key is specified, the assembly is not signed. // (*) KeyName refers to a key that has been installed in the Crypto Service // Provider (CSP) on your machine. KeyFile refers to a file which contains // a key. // (*) If the KeyFile and the KeyName values are both specified, the // following processing occurs: // (1) If the KeyName can be found in the CSP, that key is used. // (2) If the KeyName does not exist and the KeyFile does exist, the key // in the KeyFile is installed into the CSP and used. // (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. // When specifying the KeyFile, the location of the KeyFile should be // relative to the project output directory which is // %Project Directory%\obj\<configuration>. For example, if your KeyFile is // located in the project directory, you would specify the AssemblyKeyFile // attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")] // (*) Delay Signing is an advanced option - see the Microsoft .NET Framework // documentation for more information on this. // [assembly: AssemblyDelaySign(false)] [assembly: AssemblyKeyFile("")] [assembly: AssemblyKeyName("")] |
From: Choy R. <ch...@us...> - 2005-01-29 09:13:41
|
Update of /cvsroot/dotnetmock/dotnetmock In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14691 Modified Files: DotNetMock.build DotNetMock.sln Log Message: Merged changes in from branch RFE_1098585. * Had a little trouble with the new sn -Vr stuff. I don't normally develop under administrative id. So had to added target skip-verification run as administrator. then ran tests. all pass. Index: DotNetMock.sln =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.sln,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** DotNetMock.sln 10 Oct 2004 07:56:43 -0000 1.14 --- DotNetMock.sln 29 Jan 2005 09:13:32 -0000 1.15 *************** *** 36,39 **** --- 36,43 ---- EndProjectSection EndProject + Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetMock.TestFramework.Tests", "DotNetMock.TestFramework.Tests\DotNetMock.TestFramework.Tests.csproj", "{6C2904D4-ADCC-4980-AED0-64A8C6F3AF69}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection + EndProject Global GlobalSection(SolutionConfiguration) = preSolution *************** *** 78,81 **** --- 82,89 ---- {C7009DB3-7238-4608-AB9A-DB4927361898}.Release.ActiveCfg = Release|.NET {C7009DB3-7238-4608-AB9A-DB4927361898}.Release.Build.0 = Release|.NET + {6C2904D4-ADCC-4980-AED0-64A8C6F3AF69}.Debug.ActiveCfg = Debug|.NET + {6C2904D4-ADCC-4980-AED0-64A8C6F3AF69}.Debug.Build.0 = Debug|.NET + {6C2904D4-ADCC-4980-AED0-64A8C6F3AF69}.Release.ActiveCfg = Release|.NET + {6C2904D4-ADCC-4980-AED0-64A8C6F3AF69}.Release.Build.0 = Release|.NET EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution Index: DotNetMock.build =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.build,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** DotNetMock.build 27 Jan 2005 05:22:02 -0000 1.14 --- DotNetMock.build 29 Jan 2005 09:13:31 -0000 1.15 *************** *** 36,39 **** --- 36,40 ---- <test assemblyname="${build.dir}/DotNetMock.Framework.Tests.dll"/> <test assemblyname="${build.dir}/DotNetMock.Examples.dll"/> + <test assemblyname="${build.dir}/DotNetMock.TestFramework.Tests.dll"/> </nunit2> </target> *************** *** 131,134 **** --- 132,148 ---- </fileset> </copy> + <csc target="library" output="${build.dir}/DotNetMock.TestFramework.Tests.dll" debug="${debug}"> + <sources basedir="."> + <includes name="DotNetMock.TestFramework.Tests/**/*.cs"/> + </sources> + <references basedir="."> + <includes name="lib/nunit.framework.dll"/> + <includes name="build/DotNetMock.dll"/> + <includes name="build/DotNetMock.Core.dll"/> + </references> + </csc> + </target> + <target name="skip-verification" + description="Register DotNetMock assemblies for verification skipping"> <exec program="sn" commandline="-Vr ${build.dir}/DotNetMock.Core.dll"/> <exec program="sn" commandline="-Vr ${build.dir}/DotNetMock.dll"/> |
From: Choy R. <ch...@us...> - 2005-01-29 09:13:40
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14691/DotNetMock Modified Files: Assertion.cs DotNetMock.csproj Log Message: Merged changes in from branch RFE_1098585. * Had a little trouble with the new sn -Vr stuff. I don't normally develop under administrative id. So had to added target skip-verification run as administrator. then ran tests. all pass. Index: Assertion.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/Assertion.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Assertion.cs 9 Oct 2004 21:14:12 -0000 1.5 --- Assertion.cs 29 Jan 2005 09:13:32 -0000 1.6 *************** *** 1,14 **** using System; ! using System.Configuration; ! using System.Reflection; ! using System.Runtime.Remoting; using DotNetMock.Core; namespace DotNetMock { /// <summary> ! /// Assertion class used throughout the DotNetMock framework to encapsulate specific testing frameworks. ! /// NOTE: All exceptions will be caught, and rethrown as DotNetMock.AssertionException. /// </summary> public class Assertion { --- 1,23 ---- + #region License + // Copyright (c) 2004, 2005 Griffin Caprio & Choy Rim. All rights reserved. + #endregion + #region Imports using System; ! using DotNetMock.Core; + #endregion namespace DotNetMock { /// <summary> ! /// Access point to underlying testing framework. /// </summary> + /// <author>Griffin Caprio</author> + /// <author>Choy Rim</author> + /// <remarks> + /// Assertion class used throughout the DotNetMock framework to + /// encapsulate specific testing frameworks. + /// NOTE: All exceptions will be caught, and rethrown as DotNetMock.AssertionException. + /// </remarks> public class Assertion { *************** *** 16,40 **** /// Private variable to hold concrete instance of ITestFramework interface. /// </summary> ! private static ITestFramework _testFramework = null; ! /// <summary> ! /// Static type initializer. Creates instance for ITestFramework from configuration file setup. ! /// If no configuration information is specified, defaults to NUnit. ! /// </summary> ! static Assertion() ! { ! string iTestFrameworkComponent = Environment.GetEnvironmentVariable("DotNetMock_TestingComponent"); ! string iTestFrameworkAssembly = Environment.GetEnvironmentVariable("DotNetMock_TestingAssembly"); ! ! if ( ( iTestFrameworkAssembly == null ) || ( iTestFrameworkAssembly.Equals( String.Empty ) ) ) ! { ! iTestFrameworkAssembly = "DotNetMock.NUnit"; ! } ! if ( ( iTestFrameworkComponent == null ) || ( iTestFrameworkComponent.Equals( String.Empty ) ) ) ! { ! iTestFrameworkComponent = "DotNetMock.NUnit.NUnitTestFramework"; ! } ! ObjectHandle concreteObject = Activator.CreateInstance( iTestFrameworkAssembly, iTestFrameworkComponent ); ! _testFramework = (ITestFramework)concreteObject.Unwrap(); ! } /// <summary> /// Asserts that two objects are equal. If the objects are not equal the assertions fails with the --- 25,31 ---- /// Private variable to hold concrete instance of ITestFramework interface. /// </summary> ! private static ITestFramework _testFramework = ! DotNetMock.TestFramework.Implementation.Instance; ! /// <summary> /// Asserts that two objects are equal. If the objects are not equal the assertions fails with the Index: DotNetMock.csproj =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/DotNetMock.csproj,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** DotNetMock.csproj 9 Jan 2005 06:48:35 -0000 1.30 --- DotNetMock.csproj 29 Jan 2005 09:13:32 -0000 1.31 *************** *** 40,44 **** RegisterForComInterop = "false" RemoveIntegerChecks = "false" ! TreatWarningsAsErrors = "true" WarningLevel = "4" /> --- 40,44 ---- RegisterForComInterop = "false" RemoveIntegerChecks = "false" ! TreatWarningsAsErrors = "false" WarningLevel = "4" /> *************** *** 349,352 **** --- 349,402 ---- BuildAction = "Compile" /> + <File + RelPath = "TestFramework\AbstractStubMaker.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "TestFramework\csUnitStubMaker.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "TestFramework\IDynamicLinker.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "TestFramework\Implementation.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "TestFramework\ImplementationFactory.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "TestFramework\IStubMaker.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "TestFramework\MbUnitStubMaker.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "TestFramework\NUnitStubMaker.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "TestFramework\StubClassBuilder.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "TestFramework\SystemDynamicLinker.cs" + SubType = "Code" + BuildAction = "Compile" + /> </Include> </Files> |
From: Choy R. <ch...@us...> - 2005-01-29 09:13:39
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14691/DotNetMock.Tests Modified Files: DotNetMock.Tests.csproj Log Message: Merged changes in from branch RFE_1098585. * Had a little trouble with the new sn -Vr stuff. I don't normally develop under administrative id. So had to added target skip-verification run as administrator. then ran tests. all pass. Index: DotNetMock.Tests.csproj =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Tests/DotNetMock.Tests.csproj,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** DotNetMock.Tests.csproj 9 Jan 2005 21:05:05 -0000 1.15 --- DotNetMock.Tests.csproj 29 Jan 2005 09:13:31 -0000 1.16 *************** *** 89,92 **** --- 89,93 ---- AssemblyName = "nunit.framework" HintPath = "..\lib\nunit.framework.dll" + Private = "False" /> </References> |
From: Choy R. <ch...@us...> - 2005-01-29 08:49:23
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock/TestFramework In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9962/DotNetMock/TestFramework Modified Files: Tag: RFE_1098585 AbstractStubMaker.cs MbUnitStubMaker.cs NUnitStubMaker.cs csUnitStubMaker.cs Added Files: Tag: RFE_1098585 IDynamicLinker.cs Implementation.cs ImplementationFactory.cs SystemDynamicLinker.cs Log Message: Moved the ITestFramework implementation resolution policy/algorithm into the DotNetMock.TestFramework namespace. Keep it separate and testable. Index: MbUnitStubMaker.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/TestFramework/Attic/MbUnitStubMaker.cs,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** MbUnitStubMaker.cs 26 Jan 2005 01:21:36 -0000 1.1.2.2 --- MbUnitStubMaker.cs 29 Jan 2005 08:49:13 -0000 1.1.2.3 *************** *** 20,25 **** /// </summary> /// <param name="providerAssembly">MbUnit.Core assembly</param> ! public MbUnitStubMaker( Assembly providerAssembly ) ! : base(providerAssembly, "MbUnit.Core.Framework.Assert") { } --- 20,29 ---- /// </summary> /// <param name="providerAssembly">MbUnit.Core assembly</param> ! /// <param name="linker">reflection linkage provider</param> ! public MbUnitStubMaker( ! Assembly providerAssembly, ! IDynamicLinker linker ! ) ! : base("MbUnit.Core.Framework.Assert", providerAssembly, linker) { } --- NEW FILE: SystemDynamicLinker.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using System; using System.Collections; using System.IO; using System.Reflection; using DotNetMock.Core; #endregion namespace DotNetMock.TestFramework { /// <summary> /// Summary description for SystemDynamicLinker. /// </summary> public class SystemDynamicLinker : IDynamicLinker { #region IDynamicLinker Members /// <summary> /// Try to load an <see cref="Assembly"/> by name. /// </summary> /// <param name="name">simple/partial name of desired /// <see cref="Assembly"/></param> /// <returns>desired <see cref="Assembly"/> or null if /// cannot be found</returns> public Assembly LoadAssembly(string name) { try { return Assembly.Load(name); } catch (FileNotFoundException) { return null; } } /// <summary> /// Try to load an <see cref="Assembly"/> by partial name. /// </summary> /// <param name="name">simple/partial name of desired /// <see cref="Assembly"/></param> /// <returns>desired <see cref="Assembly"/> or null if /// cannot be found</returns> public Assembly LoadAssemblyWithPartialName(string name) { try { return Assembly.LoadWithPartialName(name); } catch (FileNotFoundException) { return null; } } /// <summary> /// Get type by name from an assembly. /// </summary> /// <param name="typeName">full name of type</param> /// <param name="assembly">assembly to get it from</param> /// <returns></returns> public Type GetType(string typeName, Assembly assembly) { return assembly.GetType(typeName); } /// <summary> /// Create instance of type. /// </summary> /// <param name="type">desired <see cref="Type"/></param> /// <returns>new instance</returns> public object CreateInstance(Type type) { return Activator.CreateInstance(type); } #endregion } } Index: AbstractStubMaker.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/TestFramework/Attic/AbstractStubMaker.cs,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** AbstractStubMaker.cs 25 Jan 2005 06:20:50 -0000 1.1.2.1 --- AbstractStubMaker.cs 29 Jan 2005 08:49:13 -0000 1.1.2.2 *************** *** 38,50 **** /// Initialize a stub maker. /// </summary> /// <param name="providerAssembly">Assembly that provides /// assertion class</param> ! /// <param name="_providerClassName">name of assertion ! /// class</param> public AbstractStubMaker( Assembly providerAssembly, ! string _providerClassName ) : ! this(providerAssembly.GetType(_providerClassName, true)) { } --- 38,52 ---- /// Initialize a stub maker. /// </summary> + /// <param name="providerClassName">name of assertion + /// class</param> /// <param name="providerAssembly">Assembly that provides /// assertion class</param> ! /// <param name="linker">reflection linkage provider</param> public AbstractStubMaker( + string providerClassName, Assembly providerAssembly, ! IDynamicLinker linker ) : ! this(linker.GetType(providerClassName, providerAssembly)) { } Index: csUnitStubMaker.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/TestFramework/Attic/csUnitStubMaker.cs,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** csUnitStubMaker.cs 26 Jan 2005 01:24:58 -0000 1.1.2.1 --- csUnitStubMaker.cs 29 Jan 2005 08:49:13 -0000 1.1.2.2 *************** *** 20,25 **** /// </summary> /// <param name="providerAssembly">csUnit assembly</param> ! public csUnitStubMaker( Assembly providerAssembly ) ! : base(providerAssembly, "csUnit.Assert") { } --- 20,29 ---- /// </summary> /// <param name="providerAssembly">csUnit assembly</param> ! /// <param name="linker">reflection linkage provider</param> ! public csUnitStubMaker( ! Assembly providerAssembly, ! IDynamicLinker linker ! ) ! : base("csUnit.Assert", providerAssembly, linker) { } --- NEW FILE: Implementation.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using System; using System.Collections; using DotNetMock.Core; #endregion namespace DotNetMock.TestFramework { /// <summary> /// Responsible for obtaining an implementation /// of <see cref="ITestFramework"/> for DotNetMock to use. /// </summary> public class Implementation { private static ITestFramework _instance = null; private static object _lock = new object(); /// <summary> /// Global instance of <see cref="ITestFramework"/> /// implementation used by the rest of DotNetMock. /// </summary> public static ITestFramework Instance { get { // the synchronization here may be overkill // but just in case ... lock ( _lock ) { if ( _instance==null ) { IDictionary env = Environment.GetEnvironmentVariables(); IDynamicLinker linker = new SystemDynamicLinker(); ImplementationFactory factory = new ImplementationFactory(env, linker); _instance = factory.NewImplementation(); } return _instance; } } } } } Index: NUnitStubMaker.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/TestFramework/Attic/NUnitStubMaker.cs,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** NUnitStubMaker.cs 25 Jan 2005 06:20:50 -0000 1.1.2.1 --- NUnitStubMaker.cs 29 Jan 2005 08:49:13 -0000 1.1.2.2 *************** *** 20,25 **** /// </summary> /// <param name="providerAssembly">nunit.framework assembly</param> ! public NUnitStubMaker( Assembly providerAssembly ) ! : base(providerAssembly, "NUnit.Framework.Assertion") { } --- 20,29 ---- /// </summary> /// <param name="providerAssembly">nunit.framework assembly</param> ! /// <param name="linker">reflection linkage provider</param> ! public NUnitStubMaker( ! Assembly providerAssembly, ! IDynamicLinker linker ! ) ! : base("NUnit.Framework.Assertion", providerAssembly, linker) { } --- NEW FILE: IDynamicLinker.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using System; using System.Collections; using System.Reflection; using DotNetMock.Core; #endregion namespace DotNetMock.TestFramework { /// <summary> /// Interface for dynamically loading assemblies, accessing their /// types and creating instances of those types. /// </summary> public interface IDynamicLinker { /// <summary> /// Try to load an <see cref="Assembly"/> by simple name. /// </summary> /// <param name="name">simple name of desired /// <see cref="Assembly"/></param> /// <returns>desired <see cref="Assembly"/> or null if /// cannot be found</returns> Assembly LoadAssembly(string name); /// <summary> /// Try to load an <see cref="Assembly"/> by partial name. /// </summary> /// <param name="name">partial name of desired /// <see cref="Assembly"/></param> /// <returns>desired <see cref="Assembly"/> or null if /// cannot be found</returns> Assembly LoadAssemblyWithPartialName(string name); /// <summary> /// Get type by name from an assembly. /// </summary> /// <param name="typeName">full name of type</param> /// <param name="assembly">assembly to get it from</param> /// <returns></returns> Type GetType(string typeName, Assembly assembly); /// <summary> /// Create instance of type. /// </summary> /// <param name="type">desired <see cref="Type"/></param> /// <returns>new instance</returns> object CreateInstance(Type type); } } --- NEW FILE: ImplementationFactory.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using System; using System.Collections; using System.Reflection; using DotNetMock.Core; #endregion namespace DotNetMock.TestFramework { /// <summary> /// Creates an implementation of <see cref="ITestFramework"/> /// based on settings in the environment. /// </summary> public class ImplementationFactory { const string STATIC_IMPLEMENTATION_ASSEMBLY_KEY = "DotNetMock_TestingAssembly"; const string STATIC_IMPLEMENTATION_TYPE_KEY = "DotNetMock_TestingComponent"; const string NUNIT_ASSEMBLY_NAME = "nunit.framework"; const string MBUNIT_ASSEMBLY_NAME = "MbUnit.Core"; const string CSUNIT_ASSEMBLY_NAME = "csUnit"; private IDictionary _env; private IDynamicLinker _linker; /// <summary> /// Create an implementation factory. /// </summary> /// <param name="env"><see cref="IDictionary"/> of environment /// variable name value entries</param> /// <param name="linker">provider of reflection services</param> public ImplementationFactory(IDictionary env, IDynamicLinker linker) { _env = env; _linker = linker; } /// <summary> /// Create an appropriate implementation for the given /// environment. /// </summary> /// <returns>a new <see cref="ITestFramework"/></returns> public ITestFramework NewImplementation() { Type implementationType = getStaticImplementationType(); if ( implementationType==null ) { implementationType = getDynamicImplementationType(); } if ( implementationType==null ) { throw new SystemException( "Cannot find an appropriate test framework implementation." ); } ITestFramework implementation = (ITestFramework) _linker.CreateInstance(implementationType); return implementation; } private Type getStaticImplementationType() { string assemblyName = (string) _env[STATIC_IMPLEMENTATION_ASSEMBLY_KEY]; if ( (assemblyName==null) || (assemblyName.Equals(String.Empty)) ) { return null; } string typeName = (string) _env[STATIC_IMPLEMENTATION_TYPE_KEY]; if ( (typeName==null) || (typeName.Equals(String.Empty)) ) { return null; } Assembly assembly = _linker.LoadAssembly(assemblyName); Type type = _linker.GetType(typeName, assembly); return type; } private Type getDynamicImplementationType() { StubClassMaker classMaker = new StubClassMaker(); IStubMaker stubMaker = null; Assembly assembly = null; if ( (assembly=_linker.LoadAssembly(NUNIT_ASSEMBLY_NAME))!=null ) { stubMaker = new NUnitStubMaker(assembly, _linker); } else if ( (assembly=_linker.LoadAssembly(MBUNIT_ASSEMBLY_NAME))!=null ) { stubMaker = new MbUnitStubMaker(assembly, _linker); } else if ( (assembly=_linker.LoadAssembly(CSUNIT_ASSEMBLY_NAME))!=null ) { stubMaker = new csUnitStubMaker(assembly, _linker); } else if ( (assembly=_linker.LoadAssemblyWithPartialName(NUNIT_ASSEMBLY_NAME))!=null ) { stubMaker = new NUnitStubMaker(assembly, _linker); } else if ( (assembly=_linker.LoadAssemblyWithPartialName(MBUNIT_ASSEMBLY_NAME))!=null ) { stubMaker = new MbUnitStubMaker(assembly, _linker); } else if ( (assembly=_linker.LoadAssemblyWithPartialName(CSUNIT_ASSEMBLY_NAME))!=null ) { stubMaker = new csUnitStubMaker(assembly, _linker); } else { return null; } Type stubClass = classMaker.MakeStubClass( typeof(ITestFramework), stubMaker ); return stubClass; } } } |
From: Choy R. <ch...@us...> - 2005-01-29 08:49:22
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9962/DotNetMock Modified Files: Tag: RFE_1098585 Assertion.cs DotNetMock.csproj Log Message: Moved the ITestFramework implementation resolution policy/algorithm into the DotNetMock.TestFramework namespace. Keep it separate and testable. Index: Assertion.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/Assertion.cs,v retrieving revision 1.5.4.3 retrieving revision 1.5.4.4 diff -C2 -d -r1.5.4.3 -r1.5.4.4 *** Assertion.cs 26 Jan 2005 01:36:41 -0000 1.5.4.3 --- Assertion.cs 29 Jan 2005 08:49:12 -0000 1.5.4.4 *************** *** 4,14 **** #region Imports using System; - using System.Configuration; - using System.IO; - using System.Reflection; - using System.Runtime.Remoting; using DotNetMock.Core; - using DotNetMock.TestFramework; #endregion --- 4,9 ---- *************** *** 30,79 **** /// Private variable to hold concrete instance of ITestFramework interface. /// </summary> ! private static ITestFramework _testFramework = null; ! /// <summary> ! /// Static type initializer. Creates instance for ITestFramework from configuration file setup. ! /// If no configuration information is specified, defaults to NUnit. ! /// </summary> ! static Assertion() ! { ! string iTestFrameworkComponent = Environment.GetEnvironmentVariable("DotNetMock_TestingComponent"); ! string iTestFrameworkAssembly = Environment.GetEnvironmentVariable("DotNetMock_TestingAssembly"); ! ! if ( ( iTestFrameworkAssembly == null ) || ( iTestFrameworkAssembly.Equals( String.Empty ) ) ) ! { ! StubClassMaker classMaker = new StubClassMaker(); ! IStubMaker stubMaker = null; ! Assembly providerAssembly = null; ! if ( (providerAssembly = TryToLoadAssembly("nunit.framework"))!=null ) ! { ! stubMaker = new NUnitStubMaker(providerAssembly); ! } ! else if ( (providerAssembly = TryToLoadAssembly("MbUnit.Core"))!=null ) ! { ! stubMaker = new MbUnitStubMaker(providerAssembly); ! } ! else if ( (providerAssembly = TryToLoadAssembly("csUnit"))!=null ) ! { ! stubMaker = new csUnitStubMaker(providerAssembly); ! } ! if ( stubMaker==null ) ! { ! throw new InvalidOperationException( ! "Cannot find a testing framework" ! ); ! } ! Type stubClass = classMaker.MakeStubClass( ! typeof(ITestFramework), ! stubMaker ! ); ! _testFramework = (ITestFramework) ! Activator.CreateInstance(stubClass); ! } ! else ! { ! ObjectHandle concreteObject = Activator.CreateInstance( iTestFrameworkAssembly, iTestFrameworkComponent ); ! _testFramework = (ITestFramework)concreteObject.Unwrap(); ! } ! } /// <summary> /// Asserts that two objects are equal. If the objects are not equal the assertions fails with the --- 25,31 ---- /// Private variable to hold concrete instance of ITestFramework interface. /// </summary> ! private static ITestFramework _testFramework = ! DotNetMock.TestFramework.Implementation.Instance; ! /// <summary> /// Asserts that two objects are equal. If the objects are not equal the assertions fails with the *************** *** 218,233 **** } } - - private static Assembly TryToLoadAssembly(string assemblyName) - { - try - { - return Assembly.LoadWithPartialName(assemblyName); - } - catch (FileNotFoundException) - { - return null; - } - } } } --- 170,173 ---- Index: DotNetMock.csproj =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/DotNetMock.csproj,v retrieving revision 1.30.2.2 retrieving revision 1.30.2.3 diff -C2 -d -r1.30.2.2 -r1.30.2.3 *** DotNetMock.csproj 26 Jan 2005 01:24:56 -0000 1.30.2.2 --- DotNetMock.csproj 29 Jan 2005 08:49:12 -0000 1.30.2.3 *************** *** 360,363 **** --- 360,378 ---- /> <File + RelPath = "TestFramework\IDynamicLinker.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "TestFramework\Implementation.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "TestFramework\ImplementationFactory.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File RelPath = "TestFramework\IStubMaker.cs" SubType = "Code" *************** *** 379,382 **** --- 394,402 ---- BuildAction = "Compile" /> + <File + RelPath = "TestFramework\SystemDynamicLinker.cs" + SubType = "Code" + BuildAction = "Compile" + /> </Include> </Files> |
From: Choy R. <ch...@us...> - 2005-01-29 08:49:22
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.TestFramework.Tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9962/DotNetMock.TestFramework.Tests Modified Files: Tag: RFE_1098585 DotNetMock.TestFramework.Tests.csproj MbUnitStubMakerTests.cs NUnitStubMakerTests.cs csUnitStubMakerTests.cs Added Files: Tag: RFE_1098585 ImplementationFactoryTests.cs Log Message: Moved the ITestFramework implementation resolution policy/algorithm into the DotNetMock.TestFramework namespace. Keep it separate and testable. Index: NUnitStubMakerTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.TestFramework.Tests/Attic/NUnitStubMakerTests.cs,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** NUnitStubMakerTests.cs 25 Jan 2005 06:20:49 -0000 1.1.2.1 --- NUnitStubMakerTests.cs 29 Jan 2005 08:49:12 -0000 1.1.2.2 *************** *** 21,25 **** { Assembly providerAssembly = Assembly.Load("nunit.framework"); ! NUnitStubMaker stubMaker = new NUnitStubMaker(providerAssembly); StubClassMaker scm = new StubClassMaker(); Type stubClass = scm.MakeStubClass(typeof(ITestFramework), stubMaker); --- 21,28 ---- { Assembly providerAssembly = Assembly.Load("nunit.framework"); ! NUnitStubMaker stubMaker = new NUnitStubMaker( ! providerAssembly, ! new SystemDynamicLinker() ! ); StubClassMaker scm = new StubClassMaker(); Type stubClass = scm.MakeStubClass(typeof(ITestFramework), stubMaker); --- NEW FILE: ImplementationFactoryTests.cs --- #region License // Copyright (c) 2004 Choy Rim. All rights reserved. #endregion #region Imports using System; using System.Collections; using System.Reflection; using NUnit.Framework; using DotNetMock.TestFramework; using DotNetMock.Core; #endregion namespace DotNetMock.TestFramework.Tests { [TestFixture] public class ImplementationFactoryTests { const string EXPECTED_STATIC_ASSEMBLY_NAME = "Assembly"; static readonly string EXPECTED_STATIC_TYPE_NAME = typeof(TestStaticImplementation).FullName; MockLinker linker; TestStaticImplementation implementation; Hashtable env; [Test] public void UseStaticImplementation() { linker.ExpectedAssemblyName = EXPECTED_STATIC_ASSEMBLY_NAME; linker.ExpectedAssembly = Assembly.GetExecutingAssembly(); linker.ExpectedType = typeof(TestStaticImplementation); env["DotNetMock_TestingAssembly"] = EXPECTED_STATIC_ASSEMBLY_NAME; env["DotNetMock_TestingComponent"] = EXPECTED_STATIC_TYPE_NAME; ImplementationFactory factory = new ImplementationFactory(env, linker); ITestFramework tf = factory.NewImplementation(); Assert.IsNotNull(tf); Assert.AreSame(implementation, tf); Assert.AreEqual(1, linker.ActualAssemblyNames.Count); Assert.AreEqual("Assembly", linker.ActualAssemblyNames.Pop()); Assert.AreEqual(EXPECTED_STATIC_TYPE_NAME, linker.ActualTypeName); Assert.AreSame(Assembly.GetExecutingAssembly(), linker.ActualAssembly); Assert.AreEqual(typeof(TestStaticImplementation), linker.ActualType); } [Test] public void UseDynamicNUnitImplementation() { linker.ExpectedAssemblyName = "nunit.framework"; linker.ExpectedAssembly = typeof(NUnit.Framework.Assertion).Module.Assembly; linker.ExpectedType = typeof(NUnit.Framework.Assertion); ImplementationFactory factory = new ImplementationFactory(env, linker); ITestFramework tf = factory.NewImplementation(); Assert.IsNotNull(tf); Assert.AreSame(implementation, tf); Assert.AreEqual(1, linker.ActualAssemblyNames.Count); Assert.AreEqual("nunit.framework", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("NUnit.Framework.Assertion", linker.ActualTypeName); Assert.AreSame(typeof(NUnit.Framework.Assertion).Module.Assembly, linker.ActualAssembly); Assert.AreEqual("ProviderStub", linker.ActualType.FullName); } [Test] public void UseDynamicMbUnitImplementation() { linker.ExpectedAssemblyName = "MbUnit.Core"; linker.ExpectedAssembly = Assembly.GetExecutingAssembly(); linker.ExpectedType = typeof(MbUnit.Core.Framework.Assert); ImplementationFactory factory = new ImplementationFactory(env, linker); ITestFramework tf = factory.NewImplementation(); Assert.IsNotNull(tf); Assert.AreSame(implementation, tf); Assert.AreEqual(2, linker.ActualAssemblyNames.Count); Assert.AreEqual("MbUnit.Core", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("nunit.framework", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("MbUnit.Core.Framework.Assert", linker.ActualTypeName); Assert.AreSame(Assembly.GetExecutingAssembly(), linker.ActualAssembly); Assert.AreEqual("ProviderStub", linker.ActualType.FullName); } [Test] public void UseDynamicCsUnitImplementation() { linker.ExpectedAssemblyName = "csUnit"; linker.ExpectedAssembly = Assembly.GetExecutingAssembly(); linker.ExpectedType = typeof(csUnit.Assert); ImplementationFactory factory = new ImplementationFactory(env, linker); ITestFramework tf = factory.NewImplementation(); Assert.IsNotNull(tf); Assert.AreSame(implementation, tf); Assert.AreEqual(3, linker.ActualAssemblyNames.Count); Assert.AreEqual("csUnit", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("MbUnit.Core", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("nunit.framework", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("csUnit.Assert", linker.ActualTypeName); Assert.AreSame(Assembly.GetExecutingAssembly(), linker.ActualAssembly); Assert.AreEqual("ProviderStub", linker.ActualType.FullName); } [Test] public void UseDynamicNUnitImplementationViaPartialName() { linker.ExpectedAssemblyName = "xxx"; linker.ExpectedPartialAssemblyName = "nunit.framework"; linker.ExpectedAssembly = typeof(NUnit.Framework.Assertion).Module.Assembly; linker.ExpectedType = typeof(NUnit.Framework.Assertion); ImplementationFactory factory = new ImplementationFactory(env, linker); ITestFramework tf = factory.NewImplementation(); Assert.IsNotNull(tf); Assert.AreSame(implementation, tf); Assert.AreEqual(4, linker.ActualAssemblyNames.Count); Assert.AreEqual("nunit.framework", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("csUnit", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("MbUnit.Core", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("nunit.framework", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("NUnit.Framework.Assertion", linker.ActualTypeName); Assert.AreSame(typeof(NUnit.Framework.Assertion).Module.Assembly, linker.ActualAssembly); Assert.AreEqual("ProviderStub", linker.ActualType.FullName); } [Test] public void UseDynamicMbUnitImplementationViaPartialName() { linker.ExpectedAssemblyName = "xxx"; linker.ExpectedPartialAssemblyName = "MbUnit.Core"; linker.ExpectedAssembly = Assembly.GetExecutingAssembly(); linker.ExpectedType = typeof(MbUnit.Core.Framework.Assert); ImplementationFactory factory = new ImplementationFactory(env, linker); ITestFramework tf = factory.NewImplementation(); Assert.IsNotNull(tf); Assert.AreSame(implementation, tf); Assert.AreEqual(5, linker.ActualAssemblyNames.Count); Assert.AreEqual("MbUnit.Core", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("nunit.framework", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("csUnit", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("MbUnit.Core", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("nunit.framework", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("MbUnit.Core.Framework.Assert", linker.ActualTypeName); Assert.AreSame(Assembly.GetExecutingAssembly(), linker.ActualAssembly); Assert.AreEqual("ProviderStub", linker.ActualType.FullName); } [Test] public void UseDynamicCsUnitImplementationViaPartialName() { linker.ExpectedAssemblyName = "xxx"; linker.ExpectedPartialAssemblyName = "csUnit"; linker.ExpectedAssembly = Assembly.GetExecutingAssembly(); linker.ExpectedType = typeof(csUnit.Assert); ImplementationFactory factory = new ImplementationFactory(env, linker); ITestFramework tf = factory.NewImplementation(); Assert.IsNotNull(tf); Assert.AreSame(implementation, tf); Assert.AreEqual(6, linker.ActualAssemblyNames.Count); Assert.AreEqual("csUnit", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("MbUnit.Core", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("nunit.framework", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("csUnit", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("MbUnit.Core", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("nunit.framework", linker.ActualAssemblyNames.Pop()); Assert.AreEqual("csUnit.Assert", linker.ActualTypeName); Assert.AreSame(Assembly.GetExecutingAssembly(), linker.ActualAssembly); Assert.AreEqual("ProviderStub", linker.ActualType.FullName); } [SetUp] public void BeforeEachTest() { linker = new MockLinker(); implementation = new TestStaticImplementation(); env = new Hashtable(); linker.ExpectedInstance = implementation; } public class TestStaticImplementation : ITestFramework { #region ITestFramework Members public void Assert(bool assertion) { // TODO: Add TestStaticImplementation.Assert implementation } void DotNetMock.Core.ITestFramework.Assert(string message, bool assertion) { // TODO: Add TestStaticImplementation.DotNetMock.Core.ITestFramework.Assert implementation } public void AssertNotNull(object assertion) { // TODO: Add TestStaticImplementation.AssertNotNull implementation } void DotNetMock.Core.ITestFramework.AssertNotNull(string message, object assertion) { // TODO: Add TestStaticImplementation.DotNetMock.Core.ITestFramework.AssertNotNull implementation } public void AssertEquals(object expectedObject, object actualObject) { // TODO: Add TestStaticImplementation.AssertEquals implementation } void DotNetMock.Core.ITestFramework.AssertEquals(string message, object expectedObject, object actualObject) { // TODO: Add TestStaticImplementation.DotNetMock.Core.ITestFramework.AssertEquals implementation } public void Fail(string message) { // TODO: Add TestStaticImplementation.Fail implementation } void DotNetMock.Core.ITestFramework.Fail() { // TODO: Add TestStaticImplementation.DotNetMock.Core.ITestFramework.Fail implementation } public void AssertNull(object assertion) { // TODO: Add TestStaticImplementation.AssertNull implementation } void DotNetMock.Core.ITestFramework.AssertNull(string message, object assertion) { // TODO: Add TestStaticImplementation.DotNetMock.Core.ITestFramework.AssertNull implementation } #endregion } class MockLinker : IDynamicLinker { public Stack ActualAssemblyNames = new Stack(); public string ExpectedAssemblyName = null; public string ExpectedPartialAssemblyName = null; public Assembly ExpectedAssembly = null; public string ActualTypeName = null; public Assembly ActualAssembly = null; public Type ExpectedType = null; public Type ActualType = null; public object ExpectedInstance = null; #region IDynamicLinker Members public Assembly LoadAssembly(string name) { ActualAssemblyNames.Push(name); if ( name!=ExpectedAssemblyName ) { return null; } return ExpectedAssembly; } public Assembly LoadAssemblyWithPartialName(string name) { ActualAssemblyNames.Push(name); if ( name!=ExpectedPartialAssemblyName ) { return null; } return ExpectedAssembly; } public Type GetType(string typeName, Assembly assembly) { ActualTypeName = typeName; ActualAssembly = assembly; return ExpectedType; } public object CreateInstance(Type type) { ActualType = type; return ExpectedInstance; } #endregion } } } Index: DotNetMock.TestFramework.Tests.csproj =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.TestFramework.Tests/Attic/DotNetMock.TestFramework.Tests.csproj,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** DotNetMock.TestFramework.Tests.csproj 26 Jan 2005 01:24:28 -0000 1.1.2.2 --- DotNetMock.TestFramework.Tests.csproj 29 Jan 2005 08:49:11 -0000 1.1.2.3 *************** *** 111,114 **** --- 111,119 ---- /> <File + RelPath = "ImplementationFactoryTests.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File RelPath = "MbUnitStubMakerTests.cs" SubType = "Code" Index: csUnitStubMakerTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.TestFramework.Tests/Attic/csUnitStubMakerTests.cs,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** csUnitStubMakerTests.cs 26 Jan 2005 01:24:33 -0000 1.1.2.1 --- csUnitStubMakerTests.cs 29 Jan 2005 08:49:12 -0000 1.1.2.2 *************** *** 143,147 **** ITestFramework MakeProviderStubInstance() { ! csUnitStubMaker stubMaker = new csUnitStubMaker(providerAssembly); StubClassMaker scm = new StubClassMaker(); Type stubClass = --- 143,150 ---- ITestFramework MakeProviderStubInstance() { ! csUnitStubMaker stubMaker = new csUnitStubMaker( ! providerAssembly, ! new SystemDynamicLinker() ! ); StubClassMaker scm = new StubClassMaker(); Type stubClass = Index: MbUnitStubMakerTests.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.TestFramework.Tests/Attic/MbUnitStubMakerTests.cs,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** MbUnitStubMakerTests.cs 25 Jan 2005 06:20:49 -0000 1.1.2.1 --- MbUnitStubMakerTests.cs 29 Jan 2005 08:49:12 -0000 1.1.2.2 *************** *** 143,147 **** ITestFramework MakeProviderStubInstance() { ! MbUnitStubMaker stubMaker = new MbUnitStubMaker(providerAssembly); StubClassMaker scm = new StubClassMaker(); Type stubClass = --- 143,150 ---- ITestFramework MakeProviderStubInstance() { ! MbUnitStubMaker stubMaker = new MbUnitStubMaker( ! providerAssembly, ! new SystemDynamicLinker() ! ); StubClassMaker scm = new StubClassMaker(); Type stubClass = |
From: Griffin C. <gc...@us...> - 2005-01-27 20:17:34
|
Update of /cvsroot/dotnetmock/dotnetmock/docs/ChangeLogs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12065/docs/ChangeLogs Added Files: Changes-0.7.4.txt Log Message: --- NEW FILE: Changes-0.7.4.txt --- - Signing Assemblies |
From: Griffin C. <gc...@us...> - 2005-01-27 05:22:37
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv503/DotNetMock.Core Modified Files: AssemblyInfo.cs Log Message: - Updated 'AssemblyInfo' files to delay sign assemblies. - Added public key to delay sign - updated build file to turn off verification when building Index: AssemblyInfo.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Core/AssemblyInfo.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** AssemblyInfo.cs 27 Jan 2005 04:40:31 -0000 1.5 --- AssemblyInfo.cs 27 Jan 2005 05:21:56 -0000 1.6 *************** *** 12,14 **** [assembly: AssemblyDelaySign(true)] ! [assembly: AssemblyKeyFile("dotnetmock.key")] \ No newline at end of file --- 12,14 ---- [assembly: AssemblyDelaySign(true)] ! [assembly: AssemblyKeyFile("dotnetmock.public")] \ No newline at end of file |
From: Griffin C. <gc...@us...> - 2005-01-27 05:22:13
|
Update of /cvsroot/dotnetmock/dotnetmock In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv503 Modified Files: DotNetMock.build Added Files: dotnetmock.public Log Message: - Updated 'AssemblyInfo' files to delay sign assemblies. - Added public key to delay sign - updated build file to turn off verification when building Index: DotNetMock.build =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.build,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** DotNetMock.build 5 Jan 2005 14:03:32 -0000 1.13 --- DotNetMock.build 27 Jan 2005 05:22:02 -0000 1.14 *************** *** 131,134 **** --- 131,152 ---- </fileset> </copy> + <exec program="sn" commandline="-Vr ${build.dir}/DotNetMock.Core.dll"/> + <exec program="sn" commandline="-Vr ${build.dir}/DotNetMock.dll"/> + <exec program="sn" commandline="-Vr ${build.dir}/DotNetMock.Framework.dll"/> + <exec program="sn" commandline="-Vr ${build.dir}/DotNetMock.MbUnitNamespace.dll"/> + <exec program="sn" commandline="-Vr ${build.dir}/DotNetMock.csUnitNamespace.dll"/> + <exec program="sn" commandline="-Vr ${build.dir}/DotNetMock.NUnit.dll"/> + </target> + <target name="sign-assemblies" depends="build" failonerror="true"> + <delay-sign keyfile="dotnetmock.key" verbose="true"> + <targets> + <include name="${build.dir}/DotNetMock.Core.dll"/> + <include name="${build.dir}/DotNetMock.dll"/> + <include name="${build.dir}/DotNetMock.Framework.dll"/> + <include name="${build.dir}/DotNetMock.MbUnitNamespace.dll"/> + <include name="${build.dir}/DotNetMock.csUnitNamespace.dll"/> + <include name="${build.dir}/DotNetMock.NUnit.dll"/> + </targets> + </delay-sign> </target> <target name="package" description="Collects and packs up the distribution" depends="buildMSDN"> --- NEW FILE: dotnetmock.public --- (This appears to be a binary file; contents omitted.) |
From: Griffin C. <gc...@us...> - 2005-01-27 05:22:12
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.NUnit In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv503/DotNetMock.NUnit Modified Files: AssemblyInfo.cs Log Message: - Updated 'AssemblyInfo' files to delay sign assemblies. - Added public key to delay sign - updated build file to turn off verification when building Index: AssemblyInfo.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.NUnit/AssemblyInfo.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** AssemblyInfo.cs 27 Jan 2005 04:40:32 -0000 1.4 --- AssemblyInfo.cs 27 Jan 2005 05:22:02 -0000 1.5 *************** *** 11,14 **** [assembly: AssemblyVersion("0.7.3.0")] [assembly: AssemblyDelaySign(true)] ! [assembly: AssemblyKeyFile("dotnetmock.key")] --- 11,14 ---- [assembly: AssemblyVersion("0.7.3.0")] [assembly: AssemblyDelaySign(true)] ! [assembly: AssemblyKeyFile("dotnetmock.public")] |
From: Griffin C. <gc...@us...> - 2005-01-27 05:22:11
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv503/DotNetMock Modified Files: AssemblyInfo.cs Log Message: - Updated 'AssemblyInfo' files to delay sign assemblies. - Added public key to delay sign - updated build file to turn off verification when building Index: AssemblyInfo.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/AssemblyInfo.cs,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** AssemblyInfo.cs 27 Jan 2005 04:40:33 -0000 1.13 --- AssemblyInfo.cs 27 Jan 2005 05:22:03 -0000 1.14 *************** *** 16,18 **** [assembly: AssemblyDelaySign(true)] ! [assembly: AssemblyKeyFile("dotnetmock.key")] --- 16,18 ---- [assembly: AssemblyDelaySign(true)] ! [assembly: AssemblyKeyFile("dotnetmock.public")] |
From: Griffin C. <gc...@us...> - 2005-01-27 05:22:11
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.csUnitNamespace In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv503/DotNetMock.csUnitNamespace Modified Files: AssemblyInfo.cs Log Message: - Updated 'AssemblyInfo' files to delay sign assemblies. - Added public key to delay sign - updated build file to turn off verification when building Index: AssemblyInfo.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.csUnitNamespace/AssemblyInfo.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** AssemblyInfo.cs 27 Jan 2005 04:40:33 -0000 1.5 --- AssemblyInfo.cs 27 Jan 2005 05:22:02 -0000 1.6 *************** *** 12,14 **** [assembly: AssemblyDelaySign(true)] ! [assembly: AssemblyKeyFile("dotnetmock.key")] --- 12,14 ---- [assembly: AssemblyDelaySign(true)] ! [assembly: AssemblyKeyFile("dotnetmock.public")] |
From: Griffin C. <gc...@us...> - 2005-01-27 05:22:10
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.MbUnitNamespace In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv503/DotNetMock.MbUnitNamespace Modified Files: AssemblyInfo.cs Log Message: - Updated 'AssemblyInfo' files to delay sign assemblies. - Added public key to delay sign - updated build file to turn off verification when building Index: AssemblyInfo.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.MbUnitNamespace/AssemblyInfo.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** AssemblyInfo.cs 27 Jan 2005 04:40:32 -0000 1.5 --- AssemblyInfo.cs 27 Jan 2005 05:22:01 -0000 1.6 *************** *** 11,13 **** [assembly: AssemblyVersion("0.7.3.0")] [assembly: AssemblyDelaySign(true)] ! [assembly: AssemblyKeyFile("dotnetmock.key")] \ No newline at end of file --- 11,13 ---- [assembly: AssemblyVersion("0.7.3.0")] [assembly: AssemblyDelaySign(true)] ! [assembly: AssemblyKeyFile("dotnetmock.public")] \ No newline at end of file |
From: Griffin C. <gc...@us...> - 2005-01-27 05:22:10
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock.Framework In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv503/DotNetMock.Framework Modified Files: AssemblyInfo.cs Log Message: - Updated 'AssemblyInfo' files to delay sign assemblies. - Added public key to delay sign - updated build file to turn off verification when building Index: AssemblyInfo.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock.Framework/AssemblyInfo.cs,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** AssemblyInfo.cs 27 Jan 2005 04:40:32 -0000 1.6 --- AssemblyInfo.cs 27 Jan 2005 05:21:57 -0000 1.7 *************** *** 14,17 **** [assembly: AssemblyVersion("0.7.3.0")] [assembly: AssemblyDelaySign(true)] ! [assembly: AssemblyKeyFile("dotnetmock.key")] --- 14,17 ---- [assembly: AssemblyVersion("0.7.3.0")] [assembly: AssemblyDelaySign(true)] ! [assembly: AssemblyKeyFile("dotnetmock.public")] |
From: Griffin C. <gc...@us...> - 2005-01-27 04:40:42
|
Update of /cvsroot/dotnetmock/dotnetmock/DotNetMock In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23894/DotNetMock Modified Files: AssemblyInfo.cs Log Message: - Added strong naming to assemblies. Used delay signing, so as not to have to distribute the key Index: AssemblyInfo.cs =================================================================== RCS file: /cvsroot/dotnetmock/dotnetmock/DotNetMock/AssemblyInfo.cs,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** AssemblyInfo.cs 5 Jan 2005 04:29:16 -0000 1.12 --- AssemblyInfo.cs 27 Jan 2005 04:40:33 -0000 1.13 *************** *** 14,15 **** --- 14,18 ---- [assembly: AssemblyVersion("0.7.3.0")] + + [assembly: AssemblyDelaySign(true)] + [assembly: AssemblyKeyFile("dotnetmock.key")] |