|
From: Steve F. <sm...@us...> - 2005-05-26 20:51:50
|
Update of /cvsroot/nmock/nmock2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24181 Added Files: nant.build NMock2.sln README.TXT .cvsignore .project NMock2.nunit Log Message: first upload of nmock2 --- NEW FILE: .cvsignore --- _ReSharper.NMock2 build NMock2.resharperoptions NMock2.suo --- NEW FILE: .project --- <?xml version="1.0" encoding="UTF-8"?> <projectDescription> <name>nmock2</name> <comment></comment> <projects> </projects> <buildSpec> </buildSpec> <natures> </natures> </projectDescription> --- NEW FILE: NMock2.nunit --- <NUnitProject> <Settings activeconfig="Debug" /> <Config name="Debug" binpathtype="Auto"> <assembly path="build\NMock2.Test\Debug\NMock2.Test.dll" /> <assembly path="build\NMock2.AcceptanceTests\Debug\NMock2.AcceptanceTests.dll" /> </Config> <Config name="Release" binpathtype="Auto"> <assembly path="build\NMock2.Test\Release\NMock2.Test.dll" /> <assembly path="build\NMock2.AcceptanceTests\Release\NMock2.AcceptanceTests.dll" /> </Config> </NUnitProject> --- NEW FILE: nant.build --- <project name="SharpMock" default="build"> <property name="configuration" value="Debug"/> <target name="clean" description="Delete all previously compiled binaries."> <delete> <fileset> <include name="build/**" /> <include name="**/obj/**" /> </fileset> </delete> </target> <target name="build" description="Build all targets."> <solution configuration="${configuration}" solutionfile="NMock2.sln" /> <property name="expected.output" value="build/NMock2/${configuration}/NMock2.dll"/> <fail unless="${file::exists(expected.output)}">Output file doesn't exist in ${expected.output}</fail> </target> <target name="rebuild" depends="clean, build" /> </project> --- NEW FILE: README.TXT --- Caveats: - No documentation yet. Read the acceptance tests to see how to use the library. - Cannot mock classes yet. Changes: - Added Has.Property(string PropertyName, Matcher propertyMatcher) matcher - Introduced ExpectationException and replaced all uses of AssertionException - Fixed ordered calls when using "at least..." and "between..." expectations - Renamed namespaces and build paths to contain NMock2, not SharpMock - Removed OO-Matron stuff from SharpMock.Monitoring namespace - Removed IExpectationCollection interface - Renamed AssertAllExpectationsHaveBeenMet to VerifyAllExpectationsHaveBeenMet - Added Verify.That assertion function that uses Matchers - Moved internal interfaces and classes into SharpMock.Internal namespace Todo: - Error message from unexpected method should show expectations that are allowed, that from VerifyAllExpectationsHaveMeenMet should show expectations that have not been met. - A Mockery that can mock classes (use NMock 1 bytecode generator?) - More matchers: Has.Property(string PropertyName, Matcher propertyMatcher), etc. - Default result stub to synthesise results based on return type [in progress] - Distinguish pure stubs from mocks: have a Mockery::NewStub method that returns a stub object that cannot be only used to set up stubbed methods, not expectations, and returns default values for methods that do not have explicit stubs. Questions: - Should I get rid of the ISelfDescribing interface and just put a DescribeTo method in each interface that currently extends it? Pro: ISelfDescribing is not used directly. Con: duplicated declarations of DescribeTo. --- NEW FILE: NMock2.sln --- Microsoft Visual Studio Solution File, Format Version 8.00 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NMock2", "src\NMock2\NMock2.csproj", "{CEE959FE-C3AF-4B51-8F1A-CCB32BAA1E98}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NMock2.Test", "src\NMock2.Test\NMock2.Test.csproj", "{CC6D39F7-1387-401D-9303-088D39459F36}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NMock2.AcceptanceTests", "src\NMock2.AcceptanceTests\NMock2.AcceptanceTests.csproj", "{B4EED566-0F75-443F-9990-FBD7E489B9BD}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject Global GlobalSection(SolutionConfiguration) = preSolution Debug = Debug EndGlobalSection GlobalSection(ProjectConfiguration) = postSolution {CEE959FE-C3AF-4B51-8F1A-CCB32BAA1E98}.Debug.ActiveCfg = Debug|.NET {CEE959FE-C3AF-4B51-8F1A-CCB32BAA1E98}.Debug.Build.0 = Debug|.NET {CC6D39F7-1387-401D-9303-088D39459F36}.Debug.ActiveCfg = Debug|.NET {CC6D39F7-1387-401D-9303-088D39459F36}.Debug.Build.0 = Debug|.NET {B4EED566-0F75-443F-9990-FBD7E489B9BD}.Debug.ActiveCfg = Debug|.NET {B4EED566-0F75-443F-9990-FBD7E489B9BD}.Debug.Build.0 = Debug|.NET EndGlobalSection GlobalSection(SolutionItems) = postSolution README.txt = README.txt EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution EndGlobalSection GlobalSection(ExtensibilityAddIns) = postSolution EndGlobalSection EndGlobal |