<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Paulo Morgado : TypeMock</title><link>http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx</link><description>Tags: TypeMock</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Compiling .NET 1.1 Projects In Visual Studio 2008</title><link>http://msmvps.com/blogs/paulomorgado/archive/2009/10/26/compiling-net-1-1-projects-in-visual-studio-2008.aspx</link><pubDate>Sun, 25 Oct 2009 23:09:44 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1735161</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1735161</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1735161</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2009/10/26/compiling-net-1-1-projects-in-visual-studio-2008.aspx#comments</comments><description>&lt;p align="justify"&gt;After having put my &lt;strong&gt;&lt;a title="Microsoft .NET Framework" href="https://www.microsoft.com/net/" target="_blank"&gt;.NET&lt;/a&gt; 1.1&lt;/strong&gt; application running on the &lt;strong&gt;.NET 2.0&lt;/strong&gt; runtime (&lt;a title="Running .NET 1.1 Applications On .NET 2.0" href="http://msmvps.com/blogs/paulomorgado/archive/2009/10/20/running-net-1-1-applications-on-net-2-0.aspx" target="_blank"&gt;^&lt;/a&gt;), I’m planning on migrating it to &lt;strong&gt;.NET 2.0&lt;/strong&gt;, but not all at once.&lt;/p&gt;  &lt;p align="justify"&gt;Because I don’t want to have 2 solutions (one on &lt;strong&gt;Visual Studio 2003&lt;/strong&gt; for the &lt;strong&gt;.NET 1.1&lt;/strong&gt; assemblies and another on &lt;strong&gt;Visual Studio 2008&lt;/strong&gt; for the &lt;strong&gt;.NET 2.0&lt;/strong&gt; assemblies) I decide to try using &lt;a title="MSBuild Extras - Toolkit for .NET 1.1" href="http://www.codeplex.com/MSBee" target="_blank"&gt;MSBee&lt;/a&gt; and have only one &lt;a title="Microsoft Visual Studio" href="http://www.microsoft.com/visualstudio/default.mspx" target="_blank"&gt;Visual Studio&lt;/a&gt; 2008 solution.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;MSBee&lt;/strong&gt; has a &lt;a title="Project Hosting for Open Source Software" href="http://www.codeplex.com/" target="_blank"&gt;CodePlex&lt;/a&gt; project. You can download it from there or from &lt;a title="MSBuild Extras - Toolkit for .NET 1.1" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=E0D0776F-25C4-444A-A6B9-71D06826F5B4"&gt;Microsoft Downloads&lt;/a&gt;. Because the build on Microsoft Downloads seemed to be the most stable one, that was the one I downloaded and installed. The package comes with a &lt;a title="Microsoft Office Word" href="http://office.microsoft.com/word/default.aspx" target="_blank"&gt;Word&lt;/a&gt; document that explains all that needs to be done.&lt;/p&gt;  &lt;p align="justify"&gt;Before you can install and use &lt;strong&gt;MSBee&lt;/strong&gt; you’ll need to install the &lt;a title=".NET Framework SDK Version 1.1" href="http://www.microsoft.com/downloads/details.aspx?familyid=9B3A2CA6-3647-4070-9F41-A333C6B9181D" target="_blank"&gt;.NET 1.1 SDK&lt;/a&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;Having everything installed, I just opened the &lt;strong&gt;Visual Studio 2003&lt;/strong&gt; solution in &lt;strong&gt;Visual Studio 2008&lt;/strong&gt; and let it convert the solution and projects (near 30).&lt;/p&gt;  &lt;p align="justify"&gt;After the conversion, for building the projects with the &lt;strong&gt;.NET 1.1&lt;/strong&gt; &lt;a title="Visual C# Developer Center" href="http://msdn.microsoft.com/vcsharp/default.aspx" target="_blank"&gt;C#&lt;/a&gt; compiler, the project files need to be edited to add the override the default targets with the &lt;strong&gt;MSBee&lt;/strong&gt; ones by adding the &lt;strong&gt;MSBee&lt;/strong&gt; imports after the default imports for the language: &lt;/p&gt;  &lt;pre style="font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;overflow:auto;" class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Import &lt;/span&gt;&lt;span style="color:red;"&gt;Project&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;$(MSBuildBinPath)\Microsoft.CSharp.targets&lt;/span&gt;&amp;quot; &lt;span style="color:blue;font-size:larger;font-weight:bold;"&gt;/&amp;gt;
&lt;span&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Import &lt;/span&gt;&lt;span style="color:red;"&gt;Project&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;$(MSBuildExtensionsPath)\MSBee\MSBuildExtras.FX1_1.CSharp.targets&lt;/span&gt;&amp;quot; &lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p align="justify"&gt;Another change needed (for &lt;strong&gt;Visual Studio 2008&lt;/strong&gt; - I don&amp;#39;t know if it was needed for &lt;strong&gt;Visual Studio 2005&lt;/strong&gt;) is the tools version. &lt;strong&gt;MSBee&lt;/strong&gt; needs version 2.0. To change that you&amp;#39;ll have to change the ToolsVersion attribute of the project’s root element:&lt;/p&gt;

&lt;pre style="font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;overflow:auto;" class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Project &lt;/span&gt;&lt;span style="color:red;"&gt;DefaultTargets&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;Build&lt;/span&gt;&amp;quot; &lt;span style="color:red;"&gt;ToolsVersion&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;font-size:larger;font-weight:bold;text-decoration:underline;"&gt;2.0&lt;/span&gt;&amp;quot; &lt;span style="color:red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;http://schemas.microsoft.com/developer/msbuild/2003&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p align="justify"&gt;&lt;strong&gt;MSBee&lt;/strong&gt; likes has own idea about output paths and I had set up custom output paths on my project. There’s information about this on the documentation but I decided to simply comment that out of the &lt;span style="font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;"&gt;$(MSBuildExtensionsPath)\MSBee\MSBuildExtras.FX1_1.Common.targets&lt;/span&gt; file:&lt;/p&gt;

&lt;pre style="font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;overflow:auto;" class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;!-- &lt;/span&gt;&lt;span style="color:green;"&gt;Paulo
&amp;lt;Choose&amp;gt;
  &amp;lt;When Condition=&amp;quot; &amp;#39;$(BaseFX1_1OutputPath)&amp;#39; == &amp;#39;&amp;#39; &amp;quot;&amp;gt;
    &amp;lt;PropertyGroup&amp;gt;
      &amp;lt;OutputPath&amp;gt;bin\FX1_1\&amp;lt;/OutputPath&amp;gt;
    &amp;lt;/PropertyGroup&amp;gt;
  &amp;lt;/When&amp;gt;
  &amp;lt;Otherwise&amp;gt;
    &amp;lt;PropertyGroup&amp;gt;
      &amp;lt;OutputPath&amp;gt;$(BaseFX1_1OutputPath)&amp;lt;/OutputPath&amp;gt;
      &amp;lt;OutputPath Condition=&amp;quot; !HasTrailingSlash(&amp;#39;$(OutputPath)&amp;#39;) &amp;quot;&amp;gt;$(OutputPath)\&amp;lt;/OutputPath&amp;gt;
    &amp;lt;/PropertyGroup&amp;gt;
  &amp;lt;/Otherwise&amp;gt;
&amp;lt;/Choose&amp;gt;
&lt;/span&gt;&lt;span style="color:blue;"&gt;--&amp;gt;

&amp;lt;!-- &lt;/span&gt;&lt;span style="color:green;"&gt;Paulo
&amp;lt;PropertyGroup&amp;gt;
  &amp;lt;BaseIntermediateOutputPath&amp;gt;obj\FX1_1\&amp;lt;/BaseIntermediateOutputPath&amp;gt;
  &amp;lt;IntermediateOutputPath Condition=&amp;quot; &amp;#39;$(PlatformName)&amp;#39; == &amp;#39;AnyCPU&amp;#39; &amp;quot;&amp;gt;$(BaseIntermediateOutputPath)$(Configuration)\&amp;lt;/IntermediateOutputPath&amp;gt;
  &amp;lt;IntermediateOutputPath Condition=&amp;quot; &amp;#39;$(PlatformName)&amp;#39; != &amp;#39;AnyCPU&amp;#39; &amp;quot;&amp;gt;$(BaseIntermediateOutputPath)$(PlatformName)\$(Configuration)\&amp;lt;/IntermediateOutputPath&amp;gt;

  &amp;lt;OutputPath Condition=&amp;quot; &amp;#39;$(PlatformName)&amp;#39; == &amp;#39;AnyCPU&amp;#39; &amp;quot;&amp;gt;$(OutputPath)$(Configuration)\&amp;lt;/OutputPath&amp;gt;
  &amp;lt;OutputPath Condition=&amp;quot; &amp;#39;$(PlatformName)&amp;#39; != &amp;#39;AnyCPU&amp;#39; &amp;quot;&amp;gt;$(OutputPath)$(PlatformName)\$(Configuration)\&amp;lt;/OutputPath&amp;gt;
  
  &amp;lt;- Once OutputPath is determined, set OutDir to its value. -&amp;gt;
  &amp;lt;OutDir&amp;gt;$(OutputPath)&amp;lt;/OutDir&amp;gt;
&amp;lt;/PropertyGroup&amp;gt;
&lt;/span&gt;&lt;span style="color:blue;"&gt;--&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p align="justify"&gt;This all seemed to work fine on my old Windows XP machine without any third party Visual Studio plug-ins, but when I tried it on my Windows Vista X64 machine, I came across some problems:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;div align="left"&gt;License Compiler&lt;/div&gt;

    &lt;p align="justify"&gt;Because I&amp;#39;m using &lt;a title="Infragistics - User Interface Components" href="http://www.infragistics.com/" target="_blank"&gt;Infragistics&lt;/a&gt;&amp;#39; controls, there&amp;#39;s a licences.licx file and the build will compile it. And that proved to be a problem.&lt;/p&gt;

    &lt;p align="justify"&gt;MSBee copies all the files it needs to the build process to a temporary folder, builds it in there and then copies the result to the output path.&lt;/p&gt;

    &lt;p align="justify"&gt;LC.exe seemed to never be able to find all the assemblies it needed. Searching seemed to me to be an old issue (even from the .NET 1.1 times) and the solution always pointed to not compile the license file. So, I commented that part out of the &lt;span style="font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;"&gt;$(MSBuildExtensionsPath)\MSBee\MSBuildExtras.FX1_1.Common.targets&lt;/span&gt; file:&lt;/p&gt;

    &lt;pre style="font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;overflow:auto;" class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Target
    &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;CompileLicxFiles&lt;/span&gt;&amp;quot;&amp;#160; &lt;span style="color:red;"&gt;Condition&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;#39;@(_LicxFile)&amp;#39;!=&amp;#39;&amp;#39;&lt;/span&gt;&amp;quot;
    &lt;span style="color:red;"&gt;DependsOnTargets&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;$(CompileLicxFilesDependsOn)&lt;/span&gt;&amp;quot;
    &lt;span style="color:red;"&gt;Inputs&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;$(MSBuildAllProjects);@(_LicxFile);@(ReferencePath);@(ReferenceDependencyPaths)&lt;/span&gt;&amp;quot;
    &lt;span style="color:red;"&gt;Outputs&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;$(IntermediateOutputPath)$(TargetFileName).licenses&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;

  &amp;lt;!--
  &lt;/span&gt;&lt;span style="color:green;"&gt;&amp;lt;LC
      Sources=&amp;quot;@(_LicxFile)&amp;quot;
      LicenseTarget=&amp;quot;$(TargetFileName)&amp;quot;
      OutputDirectory=&amp;quot;$(IntermediateOutputPath)&amp;quot;
      OutputLicense=&amp;quot;$(IntermediateOutputPath)$(TargetFileName).licenses&amp;quot;
      ReferencedAssemblies=&amp;quot;@(ReferencePath);@(ReferenceDependencyPaths)&amp;quot;
      ToolPath=&amp;quot;$(TargetFrameworkSDKDirectory)bin\&amp;quot;&amp;gt;

    &amp;lt;Output TaskParameter=&amp;quot;OutputLicense&amp;quot; ItemName=&amp;quot;CompiledLicenseFile&amp;quot;/&amp;gt;
    &amp;lt;Output TaskParameter=&amp;quot;OutputLicense&amp;quot; ItemName=&amp;quot;FileWrites&amp;quot;/&amp;gt;

  &amp;lt;/LC&amp;gt;
  &lt;/span&gt;&lt;span style="color:blue;"&gt;--&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Target&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
    &lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/li&gt;

  &lt;li&gt;
    &lt;div align="left"&gt;Resource Generator&lt;/div&gt;

    &lt;p align="justify"&gt;Although this worked fine on the command line, inside &lt;strong&gt;Visual Studio&lt;/strong&gt; &lt;span style="font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;"&gt;ResGen.exe&lt;/span&gt; would throw some error and needed to be closed.&lt;/p&gt;

    &lt;p align="justify"&gt;Looking at the &lt;a title="Windows Application Log" href="http://technet.microsoft.com/library/ms157312.aspx" target="_blank"&gt;Windows Application Log&lt;/a&gt; I found out this:&lt;/p&gt;

    &lt;div align="justify"&gt;
      &lt;p style="font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;overflow:auto;" class="code"&gt;Faulting application Resgen.exe, version 1.1.4322.573, time stamp 0x3e559b5f, faulting module MockWeaver.dll, version 0.0.0.0, time stamp 0x4adb072e, exception code 0xc0000005, fault offset 0x00018fac, process id 0x4a50, application start time 0x01ca53c14488a2fb. &lt;/p&gt;
    &lt;/div&gt;

    &lt;p align="justify"&gt;&lt;strong&gt;MockWeaver.dll&lt;/strong&gt; belongs to &lt;a title="Typemock Isolator - Isolate any .NET dependencies to make unit testing easy" href="http://www.typemock.com/" target="_blank"&gt;Isolator&lt;/a&gt; and I just disable it when building inside &lt;strong&gt;Visual Studio&lt;/strong&gt;. I was hoping to start using Isolator on this project, but, for now, I can&amp;#39;t.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p align="justify"&gt;I hope this can be of some help and, if you need more, you’ll probably find it at the &lt;strong&gt;MSBee&lt;/strong&gt;’s &lt;strong&gt;CodePlex&lt;/strong&gt; forum.&lt;/p&gt;

&lt;p align="justify"&gt;The bottom line is: &lt;strong&gt;You don’t need Visual Studio 2003!&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1735161" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/VisualStudio/default.aspx">VisualStudio</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/VisualStudio2008/default.aspx">VisualStudio2008</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET2.0/default.aspx">.NET2.0</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET1.1/default.aspx">.NET1.1</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/MSBuild/default.aspx">MSBuild</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/VisualStudio2003/default.aspx">VisualStudio2003</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/MSBee/default.aspx">MSBee</category></item><item><title>Typemock Is Launching The ASP.NET Bundle – Get Free Licenses</title><link>http://msmvps.com/blogs/paulomorgado/archive/2009/05/18/typemock-is-launching-the-asp-net-bundle-get-free-licenses.aspx</link><pubDate>Mon, 18 May 2009 22:57:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1692642</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1692642</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1692642</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2009/05/18/typemock-is-launching-the-asp-net-bundle-get-free-licenses.aspx#comments</comments><description>&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;&lt;a title="Typemock - Simplify Unit Testing!" href="http://cli.gs/Typemock" target="_blank"&gt;Typemock&lt;/a&gt; is launching a new product for ASP.NET developers – the &lt;strong&gt;ASP.NET Bundle&lt;/strong&gt; - and for the launch they are giving out &lt;strong&gt;FREE licenses&lt;/strong&gt; to bloggers and their readers.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;The ASP.NET Bundle is the ultimate ASP.NET unit testing solution, and offers both Typemock &lt;a title="Typemock Isolator" href="http://cli.gs/TypemockIsolator" target="_blank"&gt;Isolator&lt;/a&gt; and &lt;a title="Ivonna - ASP.NET Unit Testing Tool" href="http://cli.gs/Ivonna" target="_blank"&gt;Ivonna&lt;/a&gt;, the ASP.NET Isolator add-on, for a discounted price.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;&lt;strong&gt;ASP.NET Bundle launch giveaway:&lt;/strong&gt; &lt;br /&gt;For the ASP.NET Bundle launch Typemock are giving away free licenses to bloggers and their readers.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;&lt;strong&gt;How do I get the free license?&lt;/strong&gt;&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;Are you a blogger, webmaster, or internet columnist? Get your free license by helping&amp;nbsp;Typemock launch&amp;nbsp;their new ASP.NET Bundle, the ultimate ASP.NET unit testing solution.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;Post the text below on your blog (as is, with links) and &lt;a href="mailto:asp@typemock.com"&gt;tell them about it&lt;/a&gt; . If you are in the first 60 to mail us after posting, your license will be on its way!&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;If you have an ASP.NET dedicated blog, you&amp;#39;ll get a license automatically (even if more than 60 submit) during the first week of this announcement.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;8 bloggers will also get an additional 2 licenses (each) to give away / raffle to their readers or friends.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;A few simple requirements:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;div align="justify"&gt;You must own a website, blog space or internet column, older than 2 months, or get permission from the owner of such a site.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;div align="justify"&gt;Your post must include the text below (including the links) between *Begin* and *End*.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;&lt;strong&gt;*Begin*&lt;/strong&gt;&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p style="TEXT-ALIGN:justify;MARGIN-LEFT:20px;"&gt;&lt;a href="http://www.typemock.com/" target="_blank"&gt;Unit Testing&lt;/a&gt; ASP.NET? &lt;a href="http://www.typemock.com/ASP.NET_unit_testing_page.php" target="_blank"&gt;ASP.NET unit testing&lt;/a&gt; has never been this easy.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p style="TEXT-ALIGN:justify;MARGIN-LEFT:20px;"&gt;Typemock is launching a new product for ASP.NET developers – the &lt;strong&gt;ASP.NET Bundle&lt;/strong&gt; - and for the launch will be giving out &lt;strong&gt;FREE licenses&lt;/strong&gt; to bloggers and their readers.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p style="TEXT-ALIGN:justify;MARGIN-LEFT:20px;"&gt;The ASP.NET Bundle is the ultimate ASP.NET unit testing solution, and offers both &lt;a href="http://www.typemock.com/" target="_blank"&gt;Typemock Isolator&lt;/a&gt;, a &lt;a href="http://www.typemock.com/" target="_blank"&gt;unit test&lt;/a&gt; tool and &lt;a href="http://sm-art.biz/Ivonna.aspx" target="_blank"&gt;Ivonna&lt;/a&gt;, the Isolator add-on for &lt;a href="http://sm-art.biz/Ivonna.aspx" target="_blank"&gt;ASP.NET unit testing&lt;/a&gt;, for a bargain price.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p style="TEXT-ALIGN:justify;MARGIN-LEFT:20px;"&gt;Typemock Isolator is a leading &lt;a href="http://www.typemock.com/" target="_blank"&gt;.NET unit testing&lt;/a&gt; tool (C# and VB.NET) for many ‘hard to test’ technologies such as &lt;a href="http://typemock.com/sharepointpage.php" target="_blank"&gt;SharePoint&lt;/a&gt;, &lt;a href="http://www.typemock.com/ASP.NET_unit_testing_page.php" target="_blank"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://www.typemock.com/ASP.NET_unit_testing_page.php" target="_blank"&gt;MVC&lt;/a&gt;, &lt;a href="http://www.typemock.com/wcfpage.php" target="_blank"&gt;WCF&lt;/a&gt;, WPF, &lt;a href="http://www.typemock.com/Silverlight_unit_testing_page.php" target="_blank"&gt;Silverlight&lt;/a&gt; and more. Note that for &lt;a href="http://www.typemock.com/Silverlight_unit_testing_page.php" target="_blank"&gt;unit testing Silverlight&lt;/a&gt; there is an open source Isolator add-on called &lt;a href="http://www.typemock.com/Silverlight_unit_testing_page.php" target="_blank"&gt;SilverUnit&lt;/a&gt;.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p style="TEXT-ALIGN:justify;MARGIN-LEFT:20px;"&gt;The first 60 bloggers who will blog this text in their blog and &lt;a href="http://blog.typemock.com/2009/05/get-free-typemock-licenses-aspnet.html" target="_blank"&gt;tell us about it&lt;/a&gt;, will get a Free Isolator ASP.NET Bundle license (Typemock Isolator + Ivonna). If you post this in an ASP.NET &lt;strong&gt;dedicated&lt;/strong&gt; blog, you&amp;#39;ll get a license automatically (even if more than 60 submit) during the first week of this announcement.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p style="TEXT-ALIGN:justify;MARGIN-LEFT:20px;"&gt;Also 8 bloggers will get an &lt;strong&gt;additional 2 licenses&lt;/strong&gt; (each) to give away to their readers / friends.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p style="TEXT-ALIGN:justify;MARGIN-LEFT:20px;"&gt;Go ahead, click the following link for &lt;a href="http://blog.typemock.com/2009/05/get-free-typemock-licenses-aspnet.html" target="_blank"&gt;more information&lt;/a&gt; on how to get your free license.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;&lt;strong&gt;*End*&lt;/strong&gt;&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;Once you post this in your site, just drop them a line at &lt;a href="mailto:asp@typemock.com"&gt;asp@typemock.com&lt;/a&gt; with your name and the post URL to get your free license.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;Hurry up – this offer is limited to the first 60 bloggers, or to ASP.NET dedicated bloggers who will post this in the first week.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;Make sure to follow their &lt;a title="The Typemock Inseider - The Official Typemock Blog, by the Typemock developers" href="http://cli.gs/TypemockInsiderBlog" target="_blank"&gt;Blog&lt;/a&gt;, &lt;a title="Typemock - Simplify Unit Testing!" href="http://cli.gs/Typemock" target="_blank"&gt;Site&lt;/a&gt; or &lt;a title="Typemock Twitter" href="http://cli.gs/TypemockTwitter" target="_blank"&gt;Twitter&lt;/a&gt; for updates on this event.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p&gt;&lt;a title="Unit Test Today! Get Typemock Isolator!" href="http://www.typemock.com/cart.php?p=Commercial&amp;amp;maint=on&amp;amp;quantity=1&amp;amp;referrer=485128" target="_blank"&gt;&lt;img alt="Unit Test Today! Get Typemock Isolator!" src="https://secure.plimus.com//developers//485128/Typemock_button_blue.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1692642" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>Help Typemock Launch Its New Visual Basic .NET Friendly API And You Might Get A Free License</title><link>http://msmvps.com/blogs/paulomorgado/archive/2009/01/13/help-typemock-launch-its-new-visual-basic-net-friendly-api-and-you-might-get-a-free-license.aspx</link><pubDate>Tue, 13 Jan 2009 21:32:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1661503</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1661503</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1661503</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2009/01/13/help-typemock-launch-its-new-visual-basic-net-friendly-api-and-you-might-get-a-free-license.aspx#comments</comments><description>&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;&lt;a title="Typemock - Simplify Unit Testing!" href="http://cli.gs/Typemock" target="_blank"&gt;Typemock&lt;/a&gt; is announcing today a new version of Typemock Isolator (5.2).&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;One of the coolest features in the new version is the inclusion of a new &lt;a title="Unit Testing VB.NET" href="http://cli.gs/1DbBzH"&gt;VB .NET unit testing API&lt;/a&gt;. This &amp;#39;VB friendly&amp;#39; API was designed and written in VB.NET, for VB.NET developers. It uses the strengths of the VB.NET language to allow easy and intuitive use of the isolation API, for easier unit tests on any piece of .NET code.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;If you are you a blogger, webmaster, or internet columnist, you can get your free personal license by helping Typemock launch their new 5.2 version for Isolator - the best tool to unit test VB.NET applications.&lt;/p&gt;
&lt;p align="justify"&gt;Although this version is targeted to unit test VB.NET applications, &lt;a title="Visual C#" href="http://cli.gs/vcsharp" target="_blank"&gt;C#&lt;/a&gt; applications with unit tests built using &lt;a title="Microsoft Visual Studio" href="http://cli.gs/vstudio" target="_blank"&gt;Visual Studio&lt;/a&gt; 2005 can also benefit from this API.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;&lt;strong&gt;How can you get the free license?&lt;/strong&gt;&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;Post the text below on your blog (as is, with links) and &lt;a href="mailto:vb@typemock.com" target="_blank"&gt;tell them about it&lt;/a&gt; . If you are in the first 25 to mail them after posting, your license will be on its way!&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;If you have a &lt;strong&gt;VB.NET dedicated blog&lt;/strong&gt;, you&amp;#39;ll get a license automatically (even if more than 25 submit) during the first week of this announcement.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;A few simple requirements:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div align="justify"&gt;You must own a website, blog space or internet column, older than 2 months, or get permission from the owner of such a site. &lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Your post must include the text below (including the links) between &lt;strong&gt;*Begin*&lt;/strong&gt; and &lt;strong&gt;*End*&lt;/strong&gt;. &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p&gt;_&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p&gt;&lt;strong&gt;*Begin*&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.typemock.com/vbpage.php?utm_source=vbp&amp;amp;utm_medium=typeblog&amp;amp;utm_campaign=isolatorvb"&gt;Programming Visual Basic&lt;/a&gt; applications?&lt;/p&gt;
&lt;p&gt;Typemock have released a new version of their &lt;a href="http://www.typemock.com/?utm_source=hp&amp;amp;utm_medium=typeblog&amp;amp;utm_campaign=isolatorvb"&gt;unit testing&lt;/a&gt; tool, Typemock Isolator 5.2. &lt;br /&gt;This version includes a new friendly &lt;a href="http://www.typemock.com/vbpage.php?utm_source=vbp&amp;amp;utm_medium=typeblog&amp;amp;utm_campaign=isolatorvb"&gt;VB.NET&lt;/a&gt; API which makes Isolator the best Isolation tool for &lt;a href="http://www.typemock.com/vbpage.php?utm_source=vbp&amp;amp;utm_medium=typeblog&amp;amp;utm_campaign=isolatorvb"&gt;unit testing A Visual Basic (VB) .NET application&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Isolator now allows unit testing in VB or C# for many ‘hard to test’ technologies such as &lt;a href="http://typemock.com/sharepointpage.php?utm_source=spp&amp;amp;utm_medium=typeblog&amp;amp;utm_campaign=isolatorvb"&gt;SharePoint&lt;/a&gt;, ASP.NET MVC, partial support for Silverlight, WPF, LINQ, WF, Entity Framework, &lt;a href="http://www.typemock.com/wcfpage.php?utm_source=wcfp&amp;amp;utm_medium=typeblog&amp;amp;utm_campaign=isolatorvb"&gt;WCF unit testing&lt;/a&gt; and more.&lt;/p&gt;
&lt;p&gt;Note that the first 25 bloggers who blog this text in their blog and tell us about it, will get a &lt;strong&gt;Free Full Isolator license&lt;/strong&gt; (worth $139). If you post this in a &lt;strong&gt;VB.NET dedicated blog&lt;/strong&gt;, you&amp;#39;ll get a license automatically (even if more than 25 submit) during the first week of this announcement.&lt;/p&gt;
&lt;p&gt;Go ahead, click the following link for &lt;a href="http://blog.typemock.com/2009/01/get-free-isolator-licnese-for-helping.html?utm_source=vb_blog&amp;amp;utm_medium=typeblog&amp;amp;utm_campaign=isolatorvbblog"&gt;more information&lt;/a&gt; on how to get your free license.&lt;/p&gt;
&lt;p&gt;_&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;*End*&lt;/strong&gt;&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;Once you post this in your site, just drop them a line at &lt;a href="mailto:vb@typemock.com"&gt;vb@typemock.com&lt;/a&gt; with your name and the post URL to get your free license.&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p align="justify"&gt;Hurry up – this offer is limited to the first 25 general bloggers, or to VB.NET dedicated bloggers who will post this in the first week.&lt;/p&gt;
&lt;p align="justify"&gt;--&lt;/p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;
&lt;p&gt;&lt;strong&gt;Disclaimer:&lt;/strong&gt; This is an offer from &lt;a title="Typemock - Simplify Unit Testing!" href="http://www.typemock.com/" target="_blank"&gt;Typemock&lt;/a&gt; as announced at &lt;a title="http://blog.typemock.com/2009/01/get-free-isolator-licnese-for-helping.html" href="http://blog.typemock.com/2009/01/get-free-isolator-licnese-for-helping.html"&gt;http://blog.typemock.com/2009/01/get-free-isolator-licnese-for-helping.html&lt;/a&gt;. I’m just a fan.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1661503" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/VisualStudio/default.aspx">VisualStudio</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/VisualBasic/default.aspx">VisualBasic</category></item><item><title>Improving Debugging And Testing Through Assertions</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/12/03/improving-debugging-and-testing-through-assertions.aspx</link><pubDate>Wed, 03 Dec 2008 02:56:52 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1655603</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1655603</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1655603</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/12/03/improving-debugging-and-testing-through-assertions.aspx#comments</comments><description>&lt;a href="http://PauloMorgad.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Reading through the &lt;a title="The Typemock Insider" target="_blank" href="http://blog.typemock.com/"&gt;The Typemock Insider&lt;/a&gt; blog, I came across &lt;a title="Can Debugging Be Improved?" target="_blank" href="http://blog.typemock.com/2008/11/can-debugging-be-improved.html"&gt;this post&lt;/a&gt; from &lt;a title="Gil Zilberfeld" target="_blank" href="http://www.blogger.com/profile/18210181375618736629"&gt;Gil Zilberfeld&lt;/a&gt;.&lt;/p&gt; &lt;a href="http://PauloMorgad.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;I myself tend to fall in Gil’s practice (&amp;quot;binary search&amp;quot; debugging), but I don’t think &lt;a title="Kent Beck" target="_blank" href="http://threeriversinstitute.org/Kent%20Beck.htm"&gt;Kent Beck&lt;/a&gt; has the right &lt;a title="Hit &amp;#39;em High, Hit &amp;#39;em Low" target="_blank" href="http://www.threeriversinstitute.org/HitEmHighHitEmLow.html"&gt;solution&lt;/a&gt;.&lt;/p&gt; &lt;a href="http://PauloMorgad.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Gil’s suggestion of using &lt;a title="Typemock Isolator - Serious Development" target="_blank" href="http://www.typemock.com/Product.html"&gt;Isolator&lt;/a&gt; is tempting (I don’t miss an opportunity to use it), but still not my favorite one.&lt;/p&gt; &lt;a href="http://PauloMorgad.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;I prefer to use &lt;a title="Assertions in Managed Code" target="_blank" href="http://msdn.microsoft.com/library/70ab2522-6486-4076-a1a9-e0f11cd0f3a1.aspx"&gt;debug assertions&lt;/a&gt;. Debug assertions can be used when running a debug version of the application to pop-up assertion messages and when running unit tests to fail tests.&lt;/p&gt; &lt;a href="http://PauloMorgad.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;In order to use debug assertions in unit tests a “special” &lt;a title="Trace Listeners" target="_blank" href="http://msdn.microsoft.com/library/444b0d33-67ea-4c36-9e94-79c50f839025.aspx"&gt;trace listener&lt;/a&gt; is needed to make the test fail when its &lt;a title="TraceListener..::.Fail Method" target="_blank" href="http://msdn.microsoft.com/library/66a83512-a8fa-c745-bb43-a94518148fa4.aspx"&gt;Fail method&lt;/a&gt; is called.&lt;/p&gt; &lt;a href="http://PauloMorgad.NET/"&gt;&lt;/a&gt;  &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;public class &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;UnitTestTraceListener &lt;/span&gt;: &lt;span style="color:blue;"&gt;global&lt;/span&gt;::System.Diagnostics.&lt;span style="color:#2b91af;"&gt;DefaultTraceListener
&lt;/span&gt;{
     &lt;span style="color:blue;"&gt;public &lt;/span&gt;UnitTestTraceListener() : &lt;span style="color:blue;"&gt;base&lt;/span&gt;()
    {
        &lt;span style="color:blue;"&gt;this&lt;/span&gt;.Name = &lt;span style="color:#a31515;"&gt;&amp;quot;UnitTest&amp;quot;&lt;/span&gt;;
        &lt;span style="color:blue;"&gt;this&lt;/span&gt;.AssertUiEnabled = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;
    }

    &lt;span style="color:blue;"&gt;public override void &lt;/span&gt;Fail(&lt;span style="color:blue;"&gt;string &lt;/span&gt;message, &lt;span style="color:blue;"&gt;string &lt;/span&gt;detailMessage)
    {
        Microsoft.VisualStudio.TestTools.UnitTesting.&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.Fail(&lt;span style="color:#a31515;"&gt;&amp;quot;Debug.Assert Failed: &amp;quot; &lt;/span&gt;+ message + &lt;span style="color:#a31515;"&gt;&amp;quot; &amp;quot; &lt;/span&gt;+ detailMessage);
    }
}&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://PauloMorgad.NET/"&gt;&lt;/a&gt;

&lt;p align="justify"&gt;Now, all you need to do is register it.&lt;/p&gt;
&lt;a href="http://PauloMorgad.NET/"&gt;&lt;/a&gt;

&lt;p align="justify"&gt;Registering the trace listener can either be done in code:&lt;/p&gt;
&lt;a href="http://PauloMorgad.NET/"&gt;&lt;/a&gt;

&lt;pre class="code"&gt;System.Diagnostics.&lt;span style="color:#2b91af;"&gt;Trace&lt;/span&gt;.Listeners.Remove(&lt;span style="color:#a31515;"&gt;&amp;quot;Default&amp;quot;&lt;/span&gt;);
System.Diagnostics.&lt;span style="color:#2b91af;"&gt;Trace&lt;/span&gt;.Listeners.Add(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;UnitTestTraceListener&lt;/span&gt;());&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://PauloMorgad.NET/"&gt;&lt;/a&gt;

&lt;p align="justify"&gt;or configuration:&lt;/p&gt;
&lt;a href="http://PauloMorgad.NET/"&gt;&lt;/a&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#a31515;"&gt;xml &lt;/span&gt;&lt;span style="color:red;"&gt;version&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;1.0&lt;/span&gt;&amp;quot; &lt;span style="color:red;"&gt;encoding&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;utf-8&lt;/span&gt;&amp;quot; &lt;span style="color:blue;"&gt;?&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;configuration&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
  &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;system.diagnostics&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;assert &lt;/span&gt;&lt;span style="color:red;"&gt;assertuienabled&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;false&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;trace&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;listeners&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;clear&lt;/span&gt;&lt;span style="color:blue;"&gt;/&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;add &lt;/span&gt;&lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;UnitTest&lt;/span&gt;&amp;quot; &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;UnitTestTraceListener&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;
      &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;listeners&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;trace&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
  &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;system.diagnostics&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;configuration&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://PauloMorgad.NET/"&gt;&lt;/a&gt;

&lt;p align="justify"&gt;And if I’m using Isolator I have the take in account the accesses made in the call to the Assert method. More fun to me.&lt;/p&gt;
&lt;a href="http://PauloMorgad.NET/"&gt;&lt;/a&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1655603" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/VisualStudio/default.aspx">VisualStudio</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Debugging/default.aspx">Debugging</category></item><item><title>Typemock Isolator 5.1 Released</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/10/06/typemock-isolator-5-1-released.aspx</link><pubDate>Mon, 06 Oct 2008 22:41:57 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1649936</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1649936</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1649936</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/10/06/typemock-isolator-5-1-released.aspx#comments</comments><description>&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;This major version adds static method support and non-public method faking to the AAA API. Check out the &lt;a title="Typemock Isolator 5.1 Released!" href="http://blog.typemock.com/2008/09/typemock-isolator-51-released.html" target="_blank"&gt;release notes&lt;/a&gt;.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;I don’t like the reflective approach to testing private methods.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;With the new additions to the AAA API, testing this class:&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;public class &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MyClass
&lt;/span&gt;{
    &lt;span style="color:blue;"&gt;public string &lt;/span&gt;Public()
    {
        &lt;span style="color:blue;"&gt;return this&lt;/span&gt;.Private();
    }

    &lt;span style="color:blue;"&gt;private string &lt;/span&gt;Private()
    {
        &lt;span style="color:blue;"&gt;throw new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;NotImplementedException&lt;/span&gt;();
    }
}&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;p&gt;can be done like this:&lt;/p&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;pre class="code"&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]
[&lt;span style="color:#2b91af;"&gt;Isolated&lt;/span&gt;]
&lt;span style="color:blue;"&gt;public void &lt;/span&gt;PrivateTest()
{
    &lt;span style="color:#2b91af;"&gt;MyClass &lt;/span&gt;fake = &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.Fake.Instance&amp;lt;&lt;span style="color:#2b91af;"&gt;MyClass&lt;/span&gt;&amp;gt;();

    &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.WhenCalled(() =&amp;gt; fake.Public()).CallOriginal();

    &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.NonPublic.WhenCalled(fake, &lt;span style="color:#a31515;"&gt;&amp;quot;Private&amp;quot;&lt;/span&gt;).WillReturn(&lt;span style="color:#a31515;"&gt;&amp;quot;FAKE&amp;quot;&lt;/span&gt;);

    &lt;span style="color:blue;"&gt;string &lt;/span&gt;fakePublic = fake.Public();

    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#a31515;"&gt;&amp;quot;FAKE&amp;quot;&lt;/span&gt;, fakePublic);

    &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.Verify.WasCalledWithExactArguments(() =&amp;gt; fake.Public());

    &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.Verify.NonPublic.WasCalled(fake, &lt;span style="color:#a31515;"&gt;&amp;quot;Private&amp;quot;&lt;/span&gt;);
}&lt;/pre&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;p&gt;I would like it better if it was like this:&lt;/p&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;pre class="code"&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]
[&lt;span style="color:#2b91af;"&gt;Isolated&lt;/span&gt;]
&lt;span style="color:blue;"&gt;public void &lt;/span&gt;PrivateTest()
{
    &lt;span style="color:#2b91af;"&gt;MyClass &lt;/span&gt;fake = &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.Fake.Instance&amp;lt;&lt;span style="color:#2b91af;"&gt;MyClass&lt;/span&gt;&amp;gt;();

    &lt;span style="color:#2b91af;"&gt;MyClass_Accessor &lt;/span&gt;fakeAccessor = &lt;span style="color:#2b91af;"&gt;MyClass_Accessor&lt;/span&gt;.AttachShadow(fake);

    &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.WhenCalled(() =&amp;gt; fakeAccessor.Private()).WillReturn(&lt;span style="color:#a31515;"&gt;&amp;quot;FAKE&amp;quot;&lt;/span&gt;);

    &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.WhenCalled(() =&amp;gt; fake.Public()).CallOriginal();

    &lt;span style="color:blue;"&gt;string &lt;/span&gt;fakePublic = fake.Public();

    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#a31515;"&gt;&amp;quot;FAKE&amp;quot;&lt;/span&gt;, fakePublic);

    &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.Verify.WasCalledWithExactArguments(() =&amp;gt; fake.Public());

    &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.Verify.WasCalledWithExactArguments(() =&amp;gt; fakeAccessor.Private());
}&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;p&gt;Looks almost the same but there aren’t any method names in the test code.&lt;/p&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;p&gt;They were able to do it for Natural Mocks. I’m sure they will eventually do it for AAA.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1649936" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>Faking Output Parameters With Typemock Isolator</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/10/06/faking-output-parameters-with-typemock-isolator.aspx</link><pubDate>Mon, 06 Oct 2008 20:51:40 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1649919</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1649919</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1649919</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/10/06/faking-output-parameters-with-typemock-isolator.aspx#comments</comments><description>&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;Some time ago I was &lt;a title="Unit Testing and Mock Frameworks" href="http://msmvps.com/blogs/paulomorgado/archive/2007/02/17/unit-testing-and-mock-frameworks.aspx#1648003" target="_blank"&gt;asked&lt;/a&gt; if it was possible to fake output parameters with &lt;a title="Typemock - Simplify Unit Testing!" href="http://www.typemock.com/" target="_blank"&gt;&lt;/a&gt;&lt;a title="Typemock Isolator - Serious Development" href="http://www.typemock.com/Product.html" target="_blank"&gt;Typemock Isolator&lt;/a&gt;.&lt;/a&gt;&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;It’s actually very easy using any of the APIs.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;Given this class:&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;pre class="code"&gt;&lt;span style="color:#0000ff;"&gt;public class &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MyClass
&lt;/span&gt;{
    &lt;span style="color:#0000ff;"&gt;public bool &lt;/span&gt;MyMethod(&lt;span style="color:#0000ff;"&gt;string &lt;/span&gt;input, &lt;span style="color:#0000ff;"&gt;out int &lt;/span&gt;output1, &lt;span style="color:#0000ff;"&gt;out double &lt;/span&gt;output2)
    {
        &lt;span style="color:#0000ff;"&gt;throw new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;NotImplementedException&lt;/span&gt;();
    }
}&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using the new AAA API, it&amp;#39;s as clean as:&lt;/p&gt;

&lt;pre class="code"&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]
[&lt;span style="color:#2b91af;"&gt;Isolated&lt;/span&gt;]
&lt;span style="color:blue;"&gt;public void &lt;/span&gt;TestMethodIsolated()
{
    &lt;span style="color:#2b91af;"&gt;MyClass &lt;/span&gt;target = &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.Fake.Instance&amp;lt;&lt;span style="color:#2b91af;"&gt;MyClass&lt;/span&gt;&amp;gt;();

    &lt;span style="color:blue;"&gt;string &lt;/span&gt;input = &lt;span style="color:#a31515;"&gt;&amp;quot;test value&amp;quot;&lt;/span&gt;;
    &lt;span style="color:blue;"&gt;int &lt;/span&gt;expectedOutput1 = 1;
    &lt;span style="color:blue;"&gt;double &lt;/span&gt;expectedOutput2 = 2;

    &lt;span style="color:#2b91af;"&gt;Isolate&lt;/span&gt;.WhenCalled(() =&amp;gt; target.MyMethod(input, &lt;span style="color:blue;"&gt;out &lt;/span&gt;expectedOutput1, &lt;span style="color:blue;"&gt;out &lt;/span&gt;expectedOutput2)).WillReturn(&lt;span style="color:blue;"&gt;true&lt;/span&gt;);

    &lt;span style="color:blue;"&gt;int &lt;/span&gt;output1;
    &lt;span style="color:blue;"&gt;double &lt;/span&gt;output2;
    &lt;span style="color:blue;"&gt;bool &lt;/span&gt;result = target.MyMethod(input, &lt;span style="color:blue;"&gt;out &lt;/span&gt;output1, &lt;span style="color:blue;"&gt;out &lt;/span&gt;output2);

    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsTrue(result);
    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual&amp;lt;&lt;span style="color:blue;"&gt;int&lt;/span&gt;&amp;gt;(expectedOutput1, output1);
    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual&amp;lt;&lt;span style="color:blue;"&gt;double&lt;/span&gt;&amp;gt;(expectedOutput2, output2);
}&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;p&gt;Using Natural Mocks, it&amp;#39;s as easy as:&lt;/p&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;pre class="code"&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]
[&lt;span style="color:#2b91af;"&gt;VerifyMocks&lt;/span&gt;]
&lt;span style="color:#0000ff;"&gt;public void &lt;/span&gt;TestMethodNatural()
{
    &lt;span style="color:#2b91af;"&gt;MyClass &lt;/span&gt;target = &lt;span style="color:#2b91af;"&gt;RecorderManager&lt;/span&gt;.CreateMockedObject&amp;lt;&lt;span style="color:#2b91af;"&gt;MyClass&lt;/span&gt;&amp;gt;();

    &lt;span style="color:#0000ff;"&gt;string &lt;/span&gt;input = &lt;span style="color:#a31515;"&gt;&amp;quot;test value&amp;quot;&lt;/span&gt;;
    &lt;span style="color:#0000ff;"&gt;int &lt;/span&gt;expectedOutput1 = 1;
    &lt;span style="color:#0000ff;"&gt;double &lt;/span&gt;expectedOutput2 = 2;

    &lt;span style="color:#0000ff;"&gt;using &lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;RecordExpectations &lt;/span&gt;recorder = &lt;span style="color:#2b91af;"&gt;RecorderManager&lt;/span&gt;.StartRecording())
    {
        recorder.ExpectAndReturn(target.MyMethod(input, &lt;span style="color:#0000ff;"&gt;out &lt;/span&gt;expectedOutput1, &lt;span style="color:#0000ff;"&gt;out &lt;/span&gt;expectedOutput2), &lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;);
    }

    &lt;span style="color:#0000ff;"&gt;int &lt;/span&gt;output1;
    &lt;span style="color:#0000ff;"&gt;double &lt;/span&gt;output2;
    &lt;span style="color:#0000ff;"&gt;bool &lt;/span&gt;result = target.MyMethod(input, &lt;span style="color:#0000ff;"&gt;out &lt;/span&gt;output1, &lt;span style="color:#0000ff;"&gt;out &lt;/span&gt;output2);

    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsTrue(result);
    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual&amp;lt;&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt;&amp;gt;(expectedOutput1, output1);
    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual&amp;lt;&lt;span style="color:#0000ff;"&gt;double&lt;/span&gt;&amp;gt;(expectedOutput2, output2);
}&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;p&gt;It&amp;#39;s also possible using Reflective Mocks:&lt;/p&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;pre class="code"&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]
[&lt;span style="color:#2b91af;"&gt;VerifyMocks&lt;/span&gt;]
&lt;span style="color:#0000ff;"&gt;public void &lt;/span&gt;TestMethodReflective()
{
    &lt;span style="color:#2b91af;"&gt;MockObject&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;MyClass&lt;/span&gt;&amp;gt; targetMock = &lt;span style="color:#2b91af;"&gt;MockManager&lt;/span&gt;.MockObject&amp;lt;&lt;span style="color:#2b91af;"&gt;MyClass&lt;/span&gt;&amp;gt;();

    &lt;span style="color:#0000ff;"&gt;string &lt;/span&gt;input = &lt;span style="color:#a31515;"&gt;&amp;quot;test value&amp;quot;&lt;/span&gt;;
    &lt;span style="color:#0000ff;"&gt;int &lt;/span&gt;expectedOutput1 = 1;
    &lt;span style="color:#0000ff;"&gt;double &lt;/span&gt;expectedOutput2 = 2;

    targetMock.ExpectAndReturn(
        &lt;span style="color:#a31515;"&gt;&amp;quot;MyMethod&amp;quot;&lt;/span&gt;,
        &lt;span style="color:#0000ff;"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;DynamicReturnValue&lt;/span&gt;(&lt;span style="color:#0000ff;"&gt;delegate&lt;/span&gt;(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt;[] parameters, &lt;span style="color:#0000ff;"&gt;object &lt;/span&gt;context)
            {
                parameters[1] = expectedOutput1;
                parameters[2] = expectedOutput2;
                &lt;span style="color:#0000ff;"&gt;return true&lt;/span&gt;;
            }));

    &lt;span style="color:#0000ff;"&gt;int &lt;/span&gt;output1;
    &lt;span style="color:#0000ff;"&gt;double &lt;/span&gt;output2;
    &lt;span style="color:#0000ff;"&gt;bool &lt;/span&gt;result = targetMock.Object.MyMethod(input, &lt;span style="color:#0000ff;"&gt;out &lt;/span&gt;output1, &lt;span style="color:#0000ff;"&gt;out &lt;/span&gt;output2);

    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsTrue(result);
    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual&amp;lt;&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt;&amp;gt;(expectedOutput1, output1);
    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual&amp;lt;&lt;span style="color:#0000ff;"&gt;double&lt;/span&gt;&amp;gt;(expectedOutput2, output2);
}&lt;/pre&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;p&gt;All you have to do is choose which one you like most.&lt;/p&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1649919" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>Typemock Racer Alpha Is Out</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/08/20/typemock-racer-alpha-is-out.aspx</link><pubDate>Wed, 20 Aug 2008 21:50:01 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1645279</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1645279</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1645279</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/08/20/typemock-racer-alpha-is-out.aspx#comments</comments><description>&lt;a&gt;&lt;/a&gt;  &lt;p&gt;&lt;a title="Typemock - Simplify Unit Testing!" href="http://www.typemock.com/" target="_blank"&gt;Typemock&lt;/a&gt; has released an alpha version of its newest product: &lt;a title="Quick Start Guide – Typemock Racer" href="http://www.typemock.com/community/viewtopic.php?topic=908&amp;amp;forum=18" target="_blank"&gt;Typemock Racer&lt;/a&gt;.&lt;/p&gt; &lt;a&gt;&lt;/a&gt;  &lt;p&gt;&lt;strong&gt;Typemock Racer&lt;/strong&gt; is the tool that uses dynamic and static analysis to find deadlocks in .NET code that had been previously &lt;a title="A sneak Preview of Typemock Racer : Thread Deadlock Finder" href="http://weblogs.asp.net/rosherove/archive/2008/07/08/a-sneak-preview-of-typemock-racer.aspx" target="_blank"&gt;announced&lt;/a&gt; by &lt;a title="ISerializable - Roy Osherove&amp;#39;s Blog" href="http://weblogs.asp.net/rosherove/" target="_blank"&gt;Roy Osherove&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1645279" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>Typemock Isolator 5.0 Is Out With Its New AAA API</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/08/20/typemock-isolator-5-0-is-out-with-its-new-aaa-api.aspx</link><pubDate>Wed, 20 Aug 2008 21:33:30 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1645278</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1645278</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1645278</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/08/20/typemock-isolator-5-0-is-out-with-its-new-aaa-api.aspx#comments</comments><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="Typemock - Simplify Unit Testing!" href="http://www.typemock.com/" target="_blank"&gt;Typemock&lt;/a&gt; has released version 5.0 of its unit testing tool: &lt;a title="Typemock Isolator - Serious Development" href="http://www.typemock.com/Product.html" target="_blank"&gt;Isolator&lt;/a&gt;. Check out the &lt;a title="Typemock Isolator 5.0 Released" href="http://blog.typemock.com/2008/08/typemock-isolator-50-released.html" target="_blank"&gt;release notes&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;This new version comes with a new API: &lt;strong&gt;A&lt;/strong&gt;rrange&lt;strong&gt; A&lt;/strong&gt;ct &lt;strong&gt;A&lt;/strong&gt;ssert:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="Isolator AAA API - The Basics" href="http://blog.typemock.com/2008/08/isolator-aaa-api-basics.html" target="_blank"&gt;Isolator AAA API - The Basics&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="Isolator AAA: Creating Fakes" href="http://blog.typemock.com/2008/08/isolator-aaa-creating-fakes.html" target="_blank"&gt;Isolator AAA: Creating Fakes&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;I’ll have to say that I liked &lt;strong&gt;Isolator&lt;/strong&gt; better over &lt;strong&gt;Isolate&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;Also new in this version is the inclusion of the help file in the installation package.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1645278" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/VisualStudio/default.aspx">VisualStudio</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>Isolator 4.3 Released!</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/07/02/isolator-4-3-released.aspx</link><pubDate>Wed, 02 Jul 2008 20:47:59 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1639160</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1639160</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1639160</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/07/02/isolator-4-3-released.aspx#comments</comments><description>&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;Today &lt;a title="Typemock - Simplify Unit Testing!" href="http://www.typemock.com/" target="_blank"&gt;Typemock&lt;/a&gt; released version 4.3 of &lt;a title="Typemock Isolator - Serious Development" href="http://www.typemock.com/Product.html" target="_blank"&gt;Typemock Isolator&lt;/a&gt;. Download it from &lt;a title="Typemock Isolator Download" href="http://www.typemock.com/Downloads.php" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;h4&gt;What’s new? &lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;Support for &lt;a title="Ivonna" href="http://sm-art.biz/Ivonna.aspx" target="_blank"&gt;Ivonna&lt;/a&gt;. For those of you who develop ASP.Net applications, Ivonna is a great tool, built on top of Isolator’s platform, to simplify writing tests for &lt;a title="ASP.NET Developer Center" href="http://msdn.microsoft.com/asp.net/" target="_blank"&gt;ASP.NET&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;Typemock.Integration.Packs namespace APIs added to support license management through Isolator, the way Ivonna does. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;As announced when it was released, version 4.2 was the last version of Isolator to support .NET 1.1. Version 4.3 only supports the 2.0 runtime and its &lt;a title="Microsoft Visual Studio" href="http://msdn.microsoft.com/vstudio/" target="_blank"&gt;Visual Studio&lt;/a&gt; counterparts: VS2005 and VS2008. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;For 64 bit machines, now there’s a single installer. (don’t forget to uninstall both previous 32 and 64 installers prior to installing 4.3.) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;&lt;strong&gt;RecorderManager.GetMockOf(instanceRef)&lt;/strong&gt; and &lt;strong&gt;MockManager.GetMockOf(instanceRef)&lt;/strong&gt;. To retrieve the mock controller object based on a reference to the instance. (&lt;a title="Getting mock object from an instance" href="http://blog.typemock.com/2008/06/getting-mock-object-from-instance.html" target="_blank"&gt;more...&lt;/a&gt;). &lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;Bug fixes:&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;Fixes to DLINQ support. LINQ Queries with data tables now work better, for example with GroupBy. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;Static constructors in Natural Mocks are now invoked correctly. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;A bug that caused an exception to be thrown when mocking interfaces (&amp;quot;Method XX in type &lt;strong&gt;IMyInterface&lt;/strong&gt; has no matching overload that returns &lt;strong&gt;TypeMock.Mock+a&lt;/strong&gt;) was fixed. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;A bug that caused an exception to be thrown when the mocked object was overriding &lt;strong&gt;Equals &lt;/strong&gt;was fixed. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;A bug that caused failure in mocking explicit interface with the same name was fixed. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;A bug occurring im multithreading scenarios in &lt;strong&gt;VerifyWithWait&lt;/strong&gt; was fixed. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;A bug that causes &lt;strong&gt;NullReferenceException&lt;/strong&gt; to be thrown when using &lt;strong&gt;Auto Deploy&lt;/strong&gt; was fixed. &lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;See also:&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;&lt;a title="Isolator 4.3 Released!" href="http://blog.typemock.com/2008/07/isolator-43-released.html" target="_blank"&gt;Isolator 4.3 Released!&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;&lt;a title="Isolator 4.3 Release Notes" href="http://www.typemock.com/Docs/UserGuide/index.php?topic=ReleaseNotes43.html" target="_blank"&gt;Isolator 4.3 Release Notes&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;&lt;a title="Getting mock object from an instance" href="http://blog.typemock.com/2008/06/getting-mock-object-from-instance.html" target="_blank"&gt;Getting mock object from an instance&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1639160" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>Why Use Random Values For Unit Testing</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/06/30/why-use-random-values-for-unit-testing.aspx</link><pubDate>Sun, 29 Jun 2008 23:40:08 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1638825</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1638825</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1638825</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/06/30/why-use-random-values-for-unit-testing.aspx#comments</comments><description>&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;On a previous &lt;a title="Using Random Values For Unit Testing" href="http://msmvps.com/blogs/paulomorgado/archive/2008/06/24/using-random-values-for-unit-testing.aspx" target="_blank"&gt;post&lt;/a&gt; I introduced a &lt;a title="Random Generator For Unit Testing" href="https://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=PauloMorgado&amp;amp;ReleaseId=1196" target="_blank"&gt;library for generating random values&lt;/a&gt; for purposes of unit testing.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;I received a few comments and questions on my blogs [&lt;a title="Using Random Values For Unit Testing" href="http://weblogs.asp.net/paulomorgado/archive/2008/06/24/using-random-values-for-unit-testing.aspx" target="_blank"&gt;^&lt;/a&gt;][&lt;a title="Using Random Values For Unit Testing" href="http://msmvps.com/blogs/paulomorgado/archive/2008/06/24/using-random-values-for-unit-testing.aspx" target="_blank"&gt;^&lt;/a&gt;][&lt;a title="Usando Valores Aleatórios Para Testes Unitários" href="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2008/06/24/usando-valores-aleat-rios-para-testes-unit-rios.aspx" target="_blank"&gt;^&lt;/a&gt;][&lt;a title="Usando Valores Aleatórios Para Testes Unitários" href="http://weblogs.pontonetpt.com/pjmorgado/posts/27674.aspx" target="_blank"&gt;^&lt;/a&gt;].&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;&lt;a title="Simon Ince&amp;#39;s Blog - Ramblings of an Application Development Consultant in the UK" href="http://blogs.msdn.com/simonince" target="_blank"&gt;Simon&lt;/a&gt; says that he’d “generally want every instance of the test I run to be repeatable on *every* run” and he’d “inclined to use the data source functionality in VSTS Unit Tests”. I couldn’t agree more.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;&lt;a title="Hugo Batista: Software Architecture and Engineering" href="http://blogs.msdn.com/hugobatista/" target="_blank"&gt;Hugo&lt;/a&gt; pointed me to &lt;a title="Pex: Automated Exploratory Testing for .NET" href="http://research.microsoft.com/pex/" target="_blank"&gt;Pex&lt;/a&gt;. Looks nice. I’ll have to take a deeper look at it.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Other commenters were worried that in the case of a test failing to pass they were unable to reproduce the conditions of the test and thus would be unable to understand why the test had failed. As I see it, all data used in a failed test should be in the test output (at least, the data that made the test fail). Being it predictable data or random data.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;I guess that most of the comments “against” my idea were due to the fact that I didn’t explain it well. I’ll try to do a better job now.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;I use these random values when the value itself is not important, what’s important is its uniqueness.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Imagine you have&amp;#160; &lt;strong&gt;Costumer&lt;/strong&gt; class where it’s enough to tell that the costumer is the same in any two given instances if the costumer ID is the same. In order to test the comparison code, I don’t need any particular reproducible set of values. I just need them to be different or the same depending on the test.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Imagine I have some code that needs to access the database with the connection string in a specific &lt;a title="connectionStrings Element (ASP.NET Settings Schema)" href="http://msdn.microsoft.com/library/b6ffbb2e-a4d1-410e-8f7e-9755e92c65de.aspx" target="_blank"&gt;connection string settings&lt;/a&gt; element. I don’t care what the connection string is because I won’t be really accessing the database (this is really easy to accomplish with &lt;a title="Typemock Isolator - Serious Development" href="http://www.typemock.com/Product.html" target="_blank"&gt;Isolator&lt;/a&gt;).&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;I hope I’ve explained myself better this time.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1638825" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>Using Random Values For Unit Testing</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/06/24/using-random-values-for-unit-testing.aspx</link><pubDate>Mon, 23 Jun 2008 23:40:17 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1637133</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1637133</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1637133</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/06/24/using-random-values-for-unit-testing.aspx#comments</comments><description>&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;When writing my unit tests I don’t like to use hard coded fixed values because I either end up using the same values or, because of that, tests may succeed by coincidence.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;Over time, I have developed an helper class to generate random values for testing.&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;namespace &lt;/span&gt;PauloMorgado.VisualStudio.TestTools.UnitTesting
{
    &lt;span style="color:blue;"&gt;public static class &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;RandomGenerator
    &lt;/span&gt;{
        &lt;span style="color:blue;"&gt;public static bool &lt;/span&gt;Boolean();
        &lt;span style="color:blue;"&gt;public static string &lt;/span&gt;String();
        &lt;span style="color:blue;"&gt;public static string &lt;/span&gt;String(&lt;span style="color:blue;"&gt;string &lt;/span&gt;prefix);
        &lt;span style="color:blue;"&gt;public static short &lt;/span&gt;Int8();
        &lt;span style="color:blue;"&gt;public static short &lt;/span&gt;Int8(&lt;span style="color:blue;"&gt;short &lt;/span&gt;maxValue);
        &lt;span style="color:blue;"&gt;public static short &lt;/span&gt;Int8(&lt;span style="color:blue;"&gt;short &lt;/span&gt;minValue, &lt;span style="color:blue;"&gt;short &lt;/span&gt;maxValue);
        &lt;span style="color:blue;"&gt;public static short &lt;/span&gt;Int16();
        &lt;span style="color:blue;"&gt;public static short &lt;/span&gt;Int16(&lt;span style="color:blue;"&gt;short &lt;/span&gt;maxValue);
        &lt;span style="color:blue;"&gt;public static short &lt;/span&gt;Int16(&lt;span style="color:blue;"&gt;short &lt;/span&gt;minValue, &lt;span style="color:blue;"&gt;short &lt;/span&gt;maxValue);
        &lt;span style="color:blue;"&gt;public static int &lt;/span&gt;Int32();
        &lt;span style="color:blue;"&gt;public static int &lt;/span&gt;Int32(&lt;span style="color:blue;"&gt;int &lt;/span&gt;maxValue);
        &lt;span style="color:blue;"&gt;public static int &lt;/span&gt;Int32(&lt;span style="color:blue;"&gt;int &lt;/span&gt;minValue, &lt;span style="color:blue;"&gt;int &lt;/span&gt;maxValue);
        &lt;span style="color:blue;"&gt;public static &lt;/span&gt;TEnum Enum&amp;lt;TEnum&amp;gt;();
        &lt;span style="color:blue;"&gt;public static &lt;/span&gt;TEnum EnumFlagsWith&amp;lt;TEnum&amp;gt;(TEnum flagsToAdd);
        &lt;span style="color:blue;"&gt;public static &lt;/span&gt;TEnum EnumFlagsWithout&amp;lt;TEnum&amp;gt;(TEnum flagsToRemove);
        &lt;span style="color:blue;"&gt;public static &lt;/span&gt;TEnum Enum&amp;lt;TEnum&amp;gt;(&lt;span style="color:blue;"&gt;int &lt;/span&gt;maxValue);
        &lt;span style="color:blue;"&gt;public static &lt;/span&gt;TEnum Enum&amp;lt;TEnum&amp;gt;(&lt;span style="color:blue;"&gt;int &lt;/span&gt;minValue, &lt;span style="color:blue;"&gt;int &lt;/span&gt;maxValue);
        &lt;span style="color:blue;"&gt;public static &lt;/span&gt;System.&lt;span style="color:#2b91af;"&gt;Guid &lt;/span&gt;Guid();
    }
}&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;p&gt;This is something that I would like to find on mock frameworks (like &lt;a title="Typemock Isolator - Serious Development" href="http://www.typemock.com/Product.html" target="_blank"&gt;Typemock Isolator&lt;/a&gt;, &lt;a title="Rhino.Mocks" href="http://www.ayende.com/projects/rhino-mocks.aspx" target="_blank"&gt;Rhino.Mocks&lt;/a&gt; or &lt;a title="MoQ" href="http://code.google.com/p/moq/" target="_blank"&gt;MoQ&lt;/a&gt;).&lt;/p&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;p&gt;It’s still a work in progress, but if you want to try it, it’s on &lt;a title="Paulo Morgado&amp;#39;s MSDN Code Gallery" href="http://code.msdn.microsoft.com/PauloMorgado" target="_blank"&gt;my MSDN Code Gallery&lt;/a&gt;: &lt;a title="Paulo Morgado - Random Generator For Unit Testing" href="https://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=PauloMorgado&amp;amp;ReleaseId=1196" target="_blank"&gt;Random Generator For Unit Testing&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1637133" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/VisualStudio/default.aspx">VisualStudio</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>Typemock Developers Community Site Updated</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/05/29/typemock-developers-community-site-updated.aspx</link><pubDate>Wed, 28 May 2008 23:54:19 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1628463</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1628463</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1628463</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/05/29/typemock-developers-community-site-updated.aspx#comments</comments><description>&lt;p align="justify"&gt;&lt;a title="Typemock - Simplify Unit Testing!" href="http://www.typemock.com/" target="_blank"&gt;Typemock&lt;/a&gt; has updated its &lt;a title="Typemock Developers Community" href="http://www.typemock.com/Community.php" target="_blank"&gt;Developers Community&lt;/a&gt; Site with new sections.&lt;/p&gt;  &lt;p align="justify"&gt;Besides the &lt;a title="Typemock Forum" href="http://www.typemock.com/community/index.php" target="_blank"&gt;forums&lt;/a&gt;, there&amp;#39;s a new &lt;a title="Typemock Add-ons" href="http://www.typemock.com/ecosystems.php" target="_blank"&gt;add-ons&lt;/a&gt; page where anyone can share her/his tools or snippets (I guess I&amp;#39;ll have to brush up my &lt;a title="Typemock Snippets For Visual Studio" href="http://msmvps.com/blogs/paulomorgado/archive/2008/01/13/typemock-snippets-for-visual-studio.aspx" target="_blank"&gt;Typemock Snippets For Visual Studio&lt;/a&gt; to add there) and an &lt;a title="Typemock Experts" href="http://www.typemock.com/experts.html" target="_blank"&gt;experts&lt;/a&gt; page (guess who&amp;#39;s there).&lt;/p&gt;  &lt;p style="text-align:center;"&gt;&lt;a title="Typemock fan" href="http://www.typemock.com/?id=1"&gt;&lt;img alt="Typemock fan" src="http://www.typemock.com/images/mockfan.gif" /&gt;&lt;/a&gt; &lt;a title="Meet the experts" href="http://www.typemock.com/experts.html"&gt;&lt;img alt="Meet the experts" src="http://www.typemock.com/images/typemockexpert.gif" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1628463" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Community/default.aspx">Community</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>Typemock Isolator v4.2.4 Released</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/05/19/typemock-isolator-v4-2-4-released.aspx</link><pubDate>Sun, 18 May 2008 23:37:52 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1624206</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1624206</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1624206</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/05/19/typemock-isolator-v4-2-4-released.aspx#comments</comments><description>&lt;p&gt;&lt;a title="Typemock - Simplify Unit Testing!" href="http://www.typemock.com/" target="_blank"&gt;Typemock&lt;/a&gt; released version 4.2.4 of its &lt;a title="Typemock Isolator - Serious Development" href="http://www.typemock.com/Product.html" target="_blank"&gt;Isolator mock framework&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;You can check out the release notes in &lt;a title="The Typemock Insider blog" href="http://blog.typemock.com/2008/05/typemock-isolator-v424-released.html" target="_blank"&gt;The Typemock Insider blog&lt;/a&gt; and download it from the &lt;a title="Typemock Isolator Download page" href="http://www.typemock.com/Downloads.php" target="_blank"&gt;Typemock Isolator Download page&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1624206" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/VisualStudio/default.aspx">VisualStudio</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>Upcoming Typemock Webcast on March 12</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/03/04/upcoming-typemock-webcast-on-march-12.aspx</link><pubDate>Tue, 04 Mar 2008 23:10:35 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1533426</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1533426</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1533426</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/03/04/upcoming-typemock-webcast-on-march-12.aspx#comments</comments><description>&lt;p&gt;&lt;a title="Typemock - Simplify Unit Testing!" href="http://www.typemock.com/" target="_blank"&gt;Typemock&lt;/a&gt; is having a special Webcast on Wednesday March 12, 16:00 GMT&lt;/p&gt; &lt;p&gt;The live demo will include:&lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;div&gt;The Support of the new .NET 3.5 framework and specifically how to mock LINQ statements. &lt;/div&gt; &lt;li&gt; &lt;div&gt;The improved IDE based on using colors to emphasize mocked methods. &lt;/div&gt; &lt;li&gt; &lt;div&gt;Seamless integration with&amp;nbsp; Microsoft’s Visual Studio 2008. &lt;/div&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;It is also an opportunity to meet &lt;a title="Typemock - Simplify Unit Testing!" href="http://www.typemock.com/" target="_blank"&gt;Typemock&lt;/a&gt;’s development team, ask questions online and share some tips.&lt;/p&gt; &lt;p&gt;&lt;b&gt;.....and one of you can win a Nintendo Wii during in the webcast!&lt;/b&gt;&lt;/p&gt; &lt;p&gt;&lt;a title="Meeting Information: Typemock Isolator v4.2 Live Demo" href="https://meetings.webex.com/mw0305l/mywebex/default.do?service=1&amp;amp;siteurl=meetings&amp;amp;nomenu=true&amp;amp;main_url=%2Fmc0800l%2Fe.do%3Fsiteurl%3Dmeetings%26AT%3DMI%26EventID%3D5169772%26UID%3D0%26Host%3D0cac0d4278564247%26FrameSet%3D2%26PW%3D4ded65183d3a345e5d2627" target="_blank"&gt;Click here to participate in the Webcast&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1533426" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Events/default.aspx">Events</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Webcasts/default.aspx">Webcasts</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Training/default.aspx">Training</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>TypeMock Isolator 4.2 Released</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/03/03/typemock-isolator-4-2-released.aspx</link><pubDate>Mon, 03 Mar 2008 00:40:33 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1531383</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1531383</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1531383</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/03/03/typemock-isolator-4-2-released.aspx#comments</comments><description>&lt;p align="justify"&gt;&lt;a title="Typemock - Simplify Unit Testing!" href="http://www.typemock.com/" target="_blank"&gt;TypeMock&lt;/a&gt; has released version 4.2 of its mocking framework: TypeMock Insulator. Check out the &lt;a title="Typemock Isolator 4.2 release notes" href="http://www.typemock.com/Docs/UserGuide/index.php?topic=ReleaseNotes42.html" target="_blank"&gt;release notes&lt;/a&gt;.&lt;/p&gt; &lt;p align="justify"&gt;My four favorite new features in this release are:&lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;div align="justify"&gt;&lt;a target="_self"&gt;Improved mock chaining&lt;/a&gt;&lt;/div&gt; &lt;li&gt; &lt;div align="justify"&gt;&lt;a target="_self"&gt;Debugger evaluation doesn&amp;#39;t change the test behavior&lt;/a&gt;&lt;/div&gt; &lt;li&gt; &lt;div align="justify"&gt;&lt;a target="_self"&gt;The debugger can be run inside a recording block without confusing the test&lt;/a&gt;&lt;/div&gt; &lt;li&gt; &lt;div align="justify"&gt;&lt;a target="_self"&gt;When you step in the debugger into a mocked method, the mocked method will be painted&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;&lt;a name="52FA3BA977474f4e8E34732EF0826075"&gt;&lt;/a&gt;Improved mock chaining&lt;/h3&gt; &lt;p&gt;(If you want to learn more about chains, read this &lt;a title="Chains, Part I: Chain-Challenged" href="http://blog.typemock.com/2008/02/chains-part-i-chain-challenged.html" target="_blank"&gt;post&lt;/a&gt; from &lt;a title="Gil Zilberfeld, Typemock Team" href="http://www.typemock.com/community/viewtopic.php?p=2764#2764" target="_blank"&gt;Gil&lt;/a&gt;)&lt;/p&gt; &lt;p&gt;Take this class to be tested:&lt;/p&gt;&lt;pre style="border-right:thin outset;padding-right:10px;border-top:thin groove;padding-left:10px;background:#ffffff;overflow-x:auto;padding-bottom:10px;border-left:thin groove;padding-top:10px;border-bottom:thin outset;font-family:consolas;"&gt;&lt;span style="color:blue;"&gt;public class &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;TestedClass1
&lt;/span&gt;{
    &lt;span style="color:blue;"&gt;public &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;IDictionary&lt;/span&gt;&amp;lt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;, &lt;span style="color:blue;"&gt;object&lt;/span&gt;&amp;gt; Dictionary
    {
        &lt;span style="color:blue;"&gt;get &lt;/span&gt;{ &lt;span style="color:blue;"&gt;throw new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;NotImplementedException&lt;/span&gt;(); }
    }

    &lt;span style="color:blue;"&gt;public object &lt;/span&gt;Method(&lt;span style="color:blue;"&gt;bool &lt;/span&gt;cond)
    {
        &lt;span style="color:blue;"&gt;if &lt;/span&gt;(cond)
        {
            &lt;span style="color:blue;"&gt;return &lt;/span&gt;Dictionary[&lt;span style="color:#a31515;"&gt;&amp;quot;true&amp;quot;&lt;/span&gt;];
        }
        &lt;span style="color:blue;"&gt;else
        &lt;/span&gt;{
            &lt;span style="color:blue;"&gt;return &lt;/span&gt;Dictionary[&lt;span style="color:#a31515;"&gt;&amp;quot;false&amp;quot;&lt;/span&gt;];
        }
    }
}&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;The following test:&lt;/p&gt;&lt;pre style="border-right:thin outset;padding-right:10px;border-top:thin groove;padding-left:10px;background:#ffffff;overflow-x:auto;padding-bottom:10px;border-left:thin groove;padding-top:10px;border-bottom:thin outset;font-family:consolas;"&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]
[&lt;span style="color:#2b91af;"&gt;VerifyMocks&lt;/span&gt;]
&lt;span style="color:blue;"&gt;public void &lt;/span&gt;TestMethod1()
{
    &lt;span style="color:blue;"&gt;object &lt;/span&gt;trueObject = &lt;span style="color:blue;"&gt;new object&lt;/span&gt;();
    &lt;span style="color:blue;"&gt;object &lt;/span&gt;falseObject = &lt;span style="color:blue;"&gt;new object&lt;/span&gt;();

    &lt;span style="color:#2b91af;"&gt;TestedClass1 &lt;/span&gt;target = &lt;span style="color:#2b91af;"&gt;RecorderManager&lt;/span&gt;.CreateMockedObject&amp;lt;&lt;span style="color:#2b91af;"&gt;TestedClass1&lt;/span&gt;&amp;gt;();

    &lt;span style="color:blue;"&gt;using &lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;RecordExpectations &lt;/span&gt;recorder = &lt;span style="color:#2b91af;"&gt;RecorderManager&lt;/span&gt;.StartRecording())
    {
        recorder.DefaultBehavior.CheckArguments();

        recorder.ExpectAndReturn(target.Dictionary[&lt;span style="color:#a31515;"&gt;&amp;quot;true&amp;quot;&lt;/span&gt;], trueObject);
        recorder.FailWhenCalled(target.Dictionary[&lt;span style="color:#a31515;"&gt;&amp;quot;false&amp;quot;&lt;/span&gt;]);
    }

    &lt;span style="color:blue;"&gt;object &lt;/span&gt;value = target.Method(&lt;span style="color:blue;"&gt;true&lt;/span&gt;);
    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(trueObject, value);
}&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;Would simply fail with:&lt;/p&gt;&lt;pre style="border-right:thin outset;padding-right:10px;border-top:thin groove;padding-left:10px;background:#ffffff;overflow-x:auto;padding-bottom:10px;border-left:thin groove;padding-top:10px;border-bottom:thin outset;font-family:consolas;"&gt;Test method TestProject1.UnitTest1.TestMethod1 threw exception:  TypeMock.VerifyException: 
TypeMock Verification: Method TestProject1.TestedClass1.get_Dictionary() has 1 more expected calls
.&lt;/pre&gt;
&lt;p&gt;Now, it just passes.&lt;/p&gt;
&lt;h3&gt;&lt;a name="4AE00CEA88244120AD5592D9F5A29700"&gt;&lt;/a&gt;Debugger evaluation doesn&amp;#39;t change the test behavior&lt;/h3&gt;
&lt;p align="justify"&gt;Now you can debug your code without having to change your tests. You can query mocked values without influencing your tests.&lt;/p&gt;
&lt;p align="justify"&gt;You can do this and still have the test passing:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://msmvps.com/blogs/paulomorgado/WindowsLiveWriter/8abca5b71786_14C3B/debugger%20support%5B5%5D.jpg" target="_blank"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="171" alt="Debugger Support" src="http://msmvps.com/blogs/paulomorgado/WindowsLiveWriter/8abca5b71786_14C3B/debugger%20support%5B5%5D_thumb.jpg" width="260" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;h3&gt;&lt;a name="1E103F2BC92E4e7398CF5BDB8CB0ADBA"&gt;&lt;/a&gt;The debugger can be run inside a recording block without confusing the test&lt;/h3&gt;
&lt;p align="justify"&gt;You can now step into the recording block and debug it without affecting the recording process and the test.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://msmvps.com/blogs/paulomorgado/WindowsLiveWriter/8abca5b71786_14C3B/Recording%20Block_2.jpg" target="_blank"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="57" alt="Recording Block" src="http://msmvps.com/blogs/paulomorgado/WindowsLiveWriter/8abca5b71786_14C3B/Recording%20Block_thumb.jpg" width="260" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;h3&gt;&lt;a name="DEE27B7B05BD40559B05BDB47500279D"&gt;&lt;/a&gt;When you step in the debugger into a mocked method, the mocked method will be painted&lt;/h3&gt;
&lt;p&gt;When you step into a mocked method (or property) I&amp;#39;ll see that it&amp;#39;s mocked.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://msmvps.com/blogs/paulomorgado/WindowsLiveWriter/8abca5b71786_14C3B/Visual%20Studio%20Cues_2.jpg" target="_blank"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="102" alt="Visual Studio Cues" src="http://msmvps.com/blogs/paulomorgado/WindowsLiveWriter/8abca5b71786_14C3B/Visual%20Studio%20Cues_thumb.jpg" width="260" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1531383" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/VisualStudio/default.aspx">VisualStudio</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>Typemock Insulator Is Typemock Isolator</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/02/05/typemock-insulator-is-typemock-isolator.aspx</link><pubDate>Tue, 05 Feb 2008 00:07:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1496252</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1496252</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1496252</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/02/05/typemock-insulator-is-typemock-isolator.aspx#comments</comments><description>&lt;p&gt;&lt;a class="" title="TypeMock Insulator 4.2 Beta Publicly Available" href="http://msmvps.com/controlpanel/blogs/.NET;%20SoftDev;%20Tools;%20VisualStudio;%20Testing;%20UnitTests;%20TypeMock"&gt;Yesterday&lt;/a&gt; I made a mistake with the name of the next version of &lt;a class="" href="http://www.typemock.com/" target="_blank"&gt;TypeMock&lt;/a&gt;. The real name is TypeMock Isolator. Whatever the name is, you should try it out.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1496252" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/VisualStudio/default.aspx">VisualStudio</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>TypeMock Insulator 4.2 Beta Publicly Available</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/02/03/typemock-insulator-4-2-beta-publicly-available.aspx</link><pubDate>Sun, 03 Feb 2008 22:16:17 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1494258</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1494258</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1494258</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/02/03/typemock-insulator-4-2-beta-publicly-available.aspx#comments</comments><description>&lt;p&gt;TypeMock (now called) Insulator 4.2 Beta is publicly available. Check out the &lt;a title="Typemock Insulator 4.2 release notes" href="http://www.typemock.com/Docs/UserGuide/index.php?topic=ReleaseNotes42.html" target="_blank"&gt;release notes&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;One of my favorite new features is the improved mock chaining.&lt;/p&gt; &lt;p&gt;Take this class to be tested:&lt;/p&gt;&lt;pre style="border-right:thin outset;padding-right:10px;border-top:thin groove;padding-left:10px;background:#ffffff;overflow-x:auto;padding-bottom:10px;border-left:thin groove;padding-top:10px;border-bottom:thin outset;font-family:consolas;"&gt;&lt;span style="color:blue;"&gt;public class &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;TestedClass1
&lt;/span&gt;{
    &lt;span style="color:blue;"&gt;public &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;IDictionary&lt;/span&gt;&amp;lt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;, &lt;span style="color:blue;"&gt;object&lt;/span&gt;&amp;gt; Dictionary
    {
        &lt;span style="color:blue;"&gt;get &lt;/span&gt;{ &lt;span style="color:blue;"&gt;throw new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;NotImplementedException&lt;/span&gt;(); }
    }

    &lt;span style="color:blue;"&gt;public object &lt;/span&gt;Method(&lt;span style="color:blue;"&gt;bool &lt;/span&gt;cond)
    {
        &lt;span style="color:blue;"&gt;if &lt;/span&gt;(cond)
        {
            &lt;span style="color:blue;"&gt;return &lt;/span&gt;Dictionary[&lt;span style="color:#a31515;"&gt;&amp;quot;true&amp;quot;&lt;/span&gt;];
        }
        &lt;span style="color:blue;"&gt;else
        &lt;/span&gt;{
            &lt;span style="color:blue;"&gt;return &lt;/span&gt;Dictionary[&lt;span style="color:#a31515;"&gt;&amp;quot;false&amp;quot;&lt;/span&gt;];
        }
    }
}&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;The following test:&lt;/p&gt;&lt;pre style="border-right:thin outset;padding-right:10px;border-top:thin groove;padding-left:10px;background:#ffffff;overflow-x:auto;padding-bottom:10px;border-left:thin groove;padding-top:10px;border-bottom:thin outset;font-family:consolas;"&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]
[&lt;span style="color:#2b91af;"&gt;VerifyMocks&lt;/span&gt;]
&lt;span style="color:blue;"&gt;public void &lt;/span&gt;TestMethod1()
{
    &lt;span style="color:blue;"&gt;object &lt;/span&gt;trueObject = &lt;span style="color:blue;"&gt;new object&lt;/span&gt;();
    &lt;span style="color:blue;"&gt;object &lt;/span&gt;falseObject = &lt;span style="color:blue;"&gt;new object&lt;/span&gt;();

    &lt;span style="color:#2b91af;"&gt;TestedClass1 &lt;/span&gt;target = &lt;span style="color:#2b91af;"&gt;RecorderManager&lt;/span&gt;.CreateMockedObject&amp;lt;&lt;span style="color:#2b91af;"&gt;TestedClass1&lt;/span&gt;&amp;gt;();

    &lt;span style="color:blue;"&gt;using &lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;RecordExpectations &lt;/span&gt;recorder = &lt;span style="color:#2b91af;"&gt;RecorderManager&lt;/span&gt;.StartRecording())
    {
        recorder.DefaultBehavior.CheckArguments();

        recorder.ExpectAndReturn(target.Dictionary[&lt;span style="color:#a31515;"&gt;&amp;quot;true&amp;quot;&lt;/span&gt;], trueObject);
        recorder.FailWhenCalled(target.Dictionary[&lt;span style="color:#a31515;"&gt;&amp;quot;false&amp;quot;&lt;/span&gt;]);
    }

    &lt;span style="color:blue;"&gt;object &lt;/span&gt;value = target.Method(&lt;span style="color:blue;"&gt;true&lt;/span&gt;);
    &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(trueObject, value);
}&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;Would simply fail with:&lt;/p&gt;&lt;pre style="border-right:thin outset;padding-right:10px;border-top:thin groove;padding-left:10px;background:#ffffff;overflow-x:auto;padding-bottom:10px;border-left:thin groove;padding-top:10px;border-bottom:thin outset;font-family:consolas;"&gt;Test method TestProject1.UnitTest1.TestMethod1 threw exception:  TypeMock.VerifyException: 
TypeMock Verification: Method TestProject1.TestedClass1.get_Dictionary() has 1 more expected calls
.&lt;/pre&gt;
&lt;p&gt;Now, it just passes.&lt;/p&gt;
&lt;p&gt;Visual Studio cues are nice too.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1494258" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/VisualStudio/default.aspx">VisualStudio</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>TypeMock: How to Make Reflective Mocks More Natural</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/01/31/typemock-how-to-make-reflective-mocks-more-natural.aspx</link><pubDate>Thu, 31 Jan 2008 23:56:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1489214</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1489214</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1489214</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/01/31/typemock-how-to-make-reflective-mocks-more-natural.aspx#comments</comments><description>&lt;p&gt;Like I &lt;a title="TypeMock: Making Reflective Mocks More Natural" href="http://msmvps.com/blogs/paulomorgado/archive/2008/01/29/typemock-making-reflective-mocks-more-natural.aspx" target="_blank"&gt;said before&lt;/a&gt;, this as been on the back of my mind for a while.&lt;/p&gt;
&lt;p&gt;A while back &lt;a class="" title="Getting MethodInfo using LINQ" href="http://msmvps.com/blogs/paulomorgado/archive/2007/03/23/getting-methodinfo-using-linq.aspx" target="_blank"&gt;I introduced a way to get the MethodInfo&lt;/a&gt; of a method in a strongly typed way using &lt;a title="The LINQ Project" href="http://msdn2.microsoft.com/netframework/aa904594.aspx" target="_blank"&gt;LINQ&lt;/a&gt;, and that&amp;#39;s how I&amp;#39;m going to make &lt;a title="Overview" href="http://www.typemock.com/Docs/UserGuide/OverView.html" target="_blank"&gt;Reflective Mocks&lt;/a&gt; more &lt;a title="Natural TypeMocks™" href="http://www.typemock.com/Docs/UserGuide/NaturalMocks.html" target="_blank"&gt;Natural&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Well, it&amp;#39;s as easy as this:&lt;/p&gt;&lt;pre style="BORDER-RIGHT:thin outset;PADDING-RIGHT:10px;BORDER-TOP:thin groove;PADDING-LEFT:10px;BACKGROUND:#ffffff;OVERFLOW-X:auto;PADDING-BOTTOM:10px;BORDER-LEFT:thin groove;PADDING-TOP:10px;BORDER-BOTTOM:thin outset;FONT-FAMILY:consolas;"&gt;&lt;span style="COLOR:blue;"&gt;public static class &lt;/span&gt;&lt;span style="COLOR:#2b91af;"&gt;MockExtender
&lt;/span&gt;{
    &lt;span style="COLOR:blue;"&gt;public static &lt;/span&gt;&lt;span style="COLOR:#2b91af;"&gt;IParameters &lt;/span&gt;ExpectAndReturn&amp;lt;T1, T2, TResult&amp;gt;(&lt;span style="COLOR:blue;"&gt;this &lt;/span&gt;&lt;span style="COLOR:#2b91af;"&gt;IMockControl &lt;/span&gt;mock, &lt;span style="COLOR:#2b91af;"&gt;Expression&lt;/span&gt;&amp;lt;&lt;span style="COLOR:#2b91af;"&gt;Func&lt;/span&gt;&amp;lt;T1, T2, TResult&amp;gt;&amp;gt; expression, &lt;span style="COLOR:blue;"&gt;object &lt;/span&gt;ret, &lt;span style="COLOR:blue;"&gt;params &lt;/span&gt;&lt;span style="COLOR:#2b91af;"&gt;Type&lt;/span&gt;[] genericTypes)
    {
        &lt;span style="COLOR:blue;"&gt;return &lt;/span&gt;mock.ExpectAndReturn((expression.Body &lt;span style="COLOR:blue;"&gt;as &lt;/span&gt;&lt;span style="COLOR:#2b91af;"&gt;MethodCallExpression&lt;/span&gt;).Method.Name, ret, genericTypes);
    }
}&lt;/pre&gt;
&lt;p align="justify"&gt;(For now, I&amp;#39;ll leave to someone else the implementation of the rest of the overloads)&lt;/p&gt;
&lt;p align="justify"&gt;With this implementation it&amp;#39;s possible to handle static classes (a limitation of &lt;a title="iridescence.no" href="http://www.iridescence.no/" target="_blank"&gt;Fredrik&lt;/a&gt;&amp;#39;s &lt;a title="A Type Safe ExpectCall Extension Method for Reflective TypeMocks" href="http://www.iridescence.no/Posts/A-Type-Safe-ExpectCall-Extension-Method-for-Reflective-TypeMocks.aspx" target="_blank"&gt;implementation&lt;/a&gt;).&lt;/p&gt;
&lt;p align="justify"&gt;As for private methods, just let &lt;a title="Visual Studio Developer Center" href="http://msdn2.microsoft.com/en-us/vstudio/default.aspx" target="_blank"&gt;Visual Studio&lt;/a&gt; (2008, in this sample) and &lt;a title="TypeMock™ - Simplify Unit Testing" href="http://www.typemock.com/" target="_blank"&gt;TypeMock&lt;/a&gt; do their magic.&lt;/p&gt;
&lt;p align="justify"&gt;So, to test this class:&lt;/p&gt;&lt;pre style="BORDER-RIGHT:thin outset;PADDING-RIGHT:10px;BORDER-TOP:thin groove;PADDING-LEFT:10px;BACKGROUND:#ffffff;OVERFLOW-X:auto;PADDING-BOTTOM:10px;BORDER-LEFT:thin groove;PADDING-TOP:10px;BORDER-BOTTOM:thin outset;FONT-FAMILY:consolas;"&gt;&lt;span style="COLOR:blue;"&gt;public static class &lt;/span&gt;&lt;span style="COLOR:#2b91af;"&gt;Class1
&lt;/span&gt;{
    &lt;span style="COLOR:blue;"&gt;public static string &lt;/span&gt;PublicMethod(&lt;span style="COLOR:blue;"&gt;string &lt;/span&gt;param1, &lt;span style="COLOR:blue;"&gt;int &lt;/span&gt;param2)
    {
        &lt;span style="COLOR:blue;"&gt;return &lt;/span&gt;PrivateMethod(param2, param1);
    }

    &lt;span style="COLOR:blue;"&gt;private static string &lt;/span&gt;PrivateMethod(&lt;span style="COLOR:blue;"&gt;int &lt;/span&gt;param2, &lt;span style="COLOR:blue;"&gt;string &lt;/span&gt;param1)
    {
        &lt;span style="COLOR:blue;"&gt;throw new &lt;/span&gt;&lt;span style="COLOR:#2b91af;"&gt;NotImplementedException&lt;/span&gt;();
    }
}&lt;/pre&gt;
&lt;p&gt;We just write this test:&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/p&gt;&lt;pre style="BORDER-RIGHT:thin outset;PADDING-RIGHT:10px;BORDER-TOP:thin groove;PADDING-LEFT:10px;BACKGROUND:#ffffff;OVERFLOW-X:auto;PADDING-BOTTOM:10px;BORDER-LEFT:thin groove;PADDING-TOP:10px;BORDER-BOTTOM:thin outset;FONT-FAMILY:consolas;"&gt;[&lt;span style="COLOR:#2b91af;"&gt;TestMethod&lt;/span&gt;()]
&lt;span style="COLOR:blue;"&gt;public void &lt;/span&gt;PublicMethodTest()
{
    &lt;span style="COLOR:blue;"&gt;string &lt;/span&gt;param1 = &lt;span style="COLOR:#a31515;"&gt;&amp;quot;param&amp;quot;&lt;/span&gt;;
    &lt;span style="COLOR:blue;"&gt;int &lt;/span&gt;param2 = 5;
    &lt;span style="COLOR:blue;"&gt;string &lt;/span&gt;expected = &lt;span style="COLOR:#a31515;"&gt;&amp;quot;return&amp;quot;&lt;/span&gt;;
    &lt;span style="COLOR:blue;"&gt;string &lt;/span&gt;actual;

    &lt;span style="COLOR:#2b91af;"&gt;Mock &lt;/span&gt;targetMock = &lt;span style="COLOR:#2b91af;"&gt;MockManager&lt;/span&gt;.Mock(&lt;span style="COLOR:blue;"&gt;typeof&lt;/span&gt;(&lt;span style="COLOR:#2b91af;"&gt;Class1&lt;/span&gt;));

    targetMock.ExpectAndReturn((&lt;span style="COLOR:blue;"&gt;int &lt;/span&gt;i, &lt;span style="COLOR:blue;"&gt;string &lt;/span&gt;s) =&amp;gt; ClassLibrary1.&lt;span style="COLOR:#2b91af;"&gt;Class1_Accessor&lt;/span&gt;.PrivateMethod(i, s), expected).Args(param2, param1);

    actual = &lt;span style="COLOR:#2b91af;"&gt;Class1&lt;/span&gt;.PublicMethod(param1, param2);

    &lt;span style="COLOR:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(expected, actual);
}&lt;/pre&gt;
&lt;p&gt;How about this for clean and simple?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1489214" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/MVP/default.aspx">MVP</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>TypeMock: Making Reflective Mocks More Natural</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/01/29/typemock-making-reflective-mocks-more-natural.aspx</link><pubDate>Tue, 29 Jan 2008 22:46:32 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1485992</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1485992</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1485992</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/01/29/typemock-making-reflective-mocks-more-natural.aspx#comments</comments><description>&lt;p&gt;I&amp;#39;ve been thinking about &lt;a title="A Type Safe ExpectCall Extension Method for Reflective TypeMocks" href="http://www.iridescence.no/Posts/A-Type-Safe-ExpectCall-Extension-Method-for-Reflective-TypeMocks.aspx" target="_blank"&gt;this&lt;/a&gt; for a while. Seems like &lt;a title="iridescence.no" href="http://www.iridescence.no/" target="_blank"&gt;someone&lt;/a&gt; beat me to it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1485992" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>TypeMock Basic Introduction Screencast at Facebook</title><link>http://msmvps.com/blogs/paulomorgado/archive/2008/01/27/typemock-basic-introduction-screencast-at-facebook.aspx</link><pubDate>Sun, 27 Jan 2008 22:42:19 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1483120</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/rsscomments.aspx?PostID=1483120</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/paulomorgado/commentapi.aspx?PostID=1483120</wfw:comment><comments>http://msmvps.com/blogs/paulomorgado/archive/2008/01/27/typemock-basic-introduction-screencast-at-facebook.aspx#comments</comments><description>&lt;p&gt;&lt;a title="ISerializable - Roy Osherove&amp;#39;s Blog" href="http://weblogs.asp.net/rosherove/" target="_blank"&gt;Roy Osherove&lt;/a&gt; done a &lt;a href="http://typemock.com/Learn/TypeMockBasics1.wmv" target="_blank"&gt;nice introductory 10 minute screencast&lt;/a&gt; that shows some basic features in &lt;a title="TypeMock&amp;trade; - Simplify Unit Testing" href="http://www.typemock.com/" target="_blank"&gt;TypeMock&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1483120" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/SoftDev/default.aspx">SoftDev</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://msmvps.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item></channel></rss>