<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Adventures of an aspiring agile developer in a not-quite agile world</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/agilemonkey/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/agilemonkey/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 03:14:18 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>One step past Assert.Throws&lt;&gt;</title>
      <link>https://docs.microsoft.com/archive/blogs/agilemonkey/one-step-past-assert-throws</link>
      <pubDate>Tue, 29 Jul 2008 12:16:00 GMT</pubDate>
      <dc:creator><![CDATA[Casper]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/agilemonkey/2008/07/29/one-step-past-assert-throws/</guid>
      <description><![CDATA[If you’re not using xUnit (and you should be), at least consider adopting the practices they have...]]></description>
      <content:encoded><![CDATA[<P>If you’re not using <A class="" href="http://codeplex.com/xunit" mce_href="http://codeplex.com/xunit">xUnit</A> (and you should be), at least consider adopting the practices they have for dealing with exceptions in unit tests. From the very first release, they moved us from this:</P><CODE>[ExpectedException(typeof(InvalidOperationException))] <BR>public void WithdrawingMoreThanBalanceThrows() <BR>{ <BR>&nbsp;&nbsp;&nbsp; Account account = new Account(); <BR>&nbsp;&nbsp;&nbsp; account.Deposit(100); <BR><BR>&nbsp;&nbsp;&nbsp; account.Widthraw(200); <BR>}</CODE> 
<P>to the far-better:</P>
<P><CODE>public void WithdrawingMoreThanBalanceThrows() <BR>{ <BR>&nbsp;&nbsp;&nbsp; Account account = new Account(); <BR>&nbsp;&nbsp;&nbsp; account.Deposit(100); <BR><BR>&nbsp;&nbsp;&nbsp; Assert.Throws&lt;InvalidOperationException&gt;(delegate <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; account.Widthraw(200);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });</CODE><CODE> <BR>}</CODE></P>
<P>But we’re still not following the 3 As pattern. Recently (not sure exactly when) they took us one step further to this (in 3.5 syntax):</P>
<P><CODE>public void WithdrawingMoreThanBalanceThrows() <BR>{ <BR>&nbsp;&nbsp;&nbsp; Account account = new Account(); <BR>&nbsp;&nbsp;&nbsp; account.Deposit(100); <BR><BR>&nbsp;&nbsp;&nbsp; Exception ex = Record.Exception(() =&gt; account.Widthraw(200)); <BR><BR>&nbsp;&nbsp;&nbsp; ex.ShouldBeType&lt;InvalidOperationException&gt;();</CODE><CODE> <BR>}</CODE></P>
<P>and now we are exactly where we should be :)</P>
<P>(I was just told that <CODE>() =&gt;</CODE> is called the ‘crotch operator’ today. Can’t wait to use that in a code review.)</P>]]></content:encoded>
    </item>
    <item>
      <title>Can you take the single responsibility principle too far?</title>
      <link>https://docs.microsoft.com/archive/blogs/agilemonkey/can-you-take-the-single-responsibility-principle-too-far</link>
      <pubDate>Fri, 28 Mar 2008 05:21:00 GMT</pubDate>
      <dc:creator><![CDATA[Casper]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/agilemonkey/2008/03/28/can-you-take-the-single-responsibility-principle-too-far/</guid>
      <description><![CDATA[This morning, I had a conversation with a colleague of mine who has recently started using EDD...]]></description>
      <content:encoded><![CDATA[
<p>This morning, I had a conversation with a colleague of mine who has recently started using EDD about "exposing things just for the purpose of testing." Although I have run across the odd occasion where I may need to add a get property to a class in order to verify a value, usually I find this means that the class is doing too much. </p>

<p>Here's the scenario:</p>

<p>Imagine a command-line application that needs to perform several actions. Each action is responsible for parsing and validating the parameters for itself. One possible structure looks like this:</p>
<pre>public class PourWaterAction : IAction <br>{<br>  PourWaterAction(string[] args)<br>  {<br>  }<br> <br>  public bool ValidateParamters() <br>  {<br>     // throws if invalid <br>  } <br><br>  public void Perform() <br>  { <br>    // do real stuff here <br>  }<br>}</pre>
<p>Now we've got tests that will assert if <code>ValidateParameters</code> throws, but how do we write a test that determines if the parameters are properly parsed when <code>ValidateParameters</code> doesn't throw?</p>

<p>This is where the interesting conversation starts: my feeling was that the <code>PourWaterAction</code> class shouldn't be doing two things, and validation should be delegated to a different class. Perhaps something like this:</p>
<pre>public static class PourWaterActionValidator<br>{<br>  public static PourWaterData Validate()  <br>  {<br>    // Either throw or return a populated structure<br>  }<br>}</pre>
<p>or</p>
<pre>public class PourWaterActionValidator : IActionValidator<br>{<br>  public PourWaterData Validate()  <br>  {<br>    // Either throw or return a populated structure<br>  }<br>}</pre>
<p>Now we can move the validation tests to the new class, and easily write a test for passing conditions as well as failing ones. Straightforward enough, right?</p>

<p>Possibly not. My colleague was of the opinion that:&nbsp; </p>

<ul>
<li>This was creating extra classes unnecessarily which, when taken to the extreme, would mean tons of different files in the project. </li>

<li>Even if another class was created, it should be visible only to <code>PourWaterAction</code> which means it wouldn't be possible to test either. </li>
</ul>

<p>This means that the only way to test it was to add get properties to <code>PourWaterAction</code> so the tests could verify that the parsing had been performed correctly — "adding things just for the sake of testing"</p>

<p>So, what would you do in this situation? And do you believe that classes should always strive to do one thing and one thing only?</p>
]]></content:encoded>
    </item>
    <item>
      <title>Gatineau Beta upgrade goes live!</title>
      <link>https://docs.microsoft.com/archive/blogs/agilemonkey/gatineau-beta-upgrade-goes-live</link>
      <pubDate>Tue, 04 Mar 2008 02:06:00 GMT</pubDate>
      <dc:creator><![CDATA[Casper]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/agilemonkey/2008/03/04/gatineau-beta-upgrade-goes-live/</guid>
      <description><![CDATA[The main reason for my lack of blogs posts recently has been the final push to get Gatineau...]]></description>
      <content:encoded><![CDATA[<P>The main reason for my lack of blogs posts recently has been the final push to get Gatineau (adCenter Analytics)&nbsp;out the door and I'm happy to say that it's gone live :) I'll try to get a few screenshots up next week. You'll need an adCenter account to see our stuff, but the main site is here: <A href="http://adcenter.microsoft.com/" mce_href="http://adcenter.microsoft.com">http://adcenter.microsoft.com</A>.</P>
<P>&nbsp;Note: The $5 sign-up fee has been removed! You can find details on how to enlist here: <A href="http://adcenterblog.spaces.live.com/default.aspx?wa=wsignin1.0">http://adcenterblog.spaces.live.com/default.aspx?wa=wsignin1.0</A></P>
<P mce_keep="true">&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>Le Web 3 (Day one)</title>
      <link>https://docs.microsoft.com/archive/blogs/agilemonkey/le-web-3-day-one</link>
      <pubDate>Tue, 11 Dec 2007 10:18:50 GMT</pubDate>
      <dc:creator><![CDATA[Casper]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/agilemonkey/2007/12/11/le-web-3-day-one/</guid>
      <description><![CDATA[Dark Side of the Web  Panel with Jaewoong Lee (Daum), Dan Rose (Facebook), Chris Alden (SixApart)...]]></description>
      <content:encoded><![CDATA[<p><strong>Dark Side of the Web</strong></p>  <p>Panel with Jaewoong Lee (Daum), Dan Rose (Facebook), Chris Alden (SixApart) and a lawyer.</p>  <ul>   <li>Anonymity allows people to be expressive/rude; if you're rude in real life you probably will be online too. South Korea developed government-run program for Internet identity which is used by top 35 websites. However, 80,000 identities were stolen earlier this year. Keeping history on a site-by-site basis is probably the best way for people to 'behave' and still maintain privacy as it's decentralized. Strangely enough, Korea is outsourcing its community moderation (censorship?) to China. </li>    <li>Facebook's value comes from using your real identity. There isn't really any spam on Facebook either because your friends won't spam you. </li>    <li>Having said that, Facebook messed up with Beacon. They didn't respond quickly enough to give users control, and users expected it because everything previously had been controllable. There was also a lack of communication about the project initially (they claim it wasn't to do with advertising, but just coincidence it was launched simultaneously.) </li>    <li>Targeted advertising: obviously no PII, but more social advertising. Friends can 'advertise' to each other. Ads should appear the same way as content, and not be intrusive. </li>    <li>90% of UGC (user-generated content) is crap, but 99% of TV is crap. Internet is winning; content is usually relevant to *someone*. </li> </ul>  <p><strong>Persistent Communication</strong></p>  <p>Talk from Evan Williams (Twitter)</p>  <ul>   <li>Everyone is using Twitter. Well, at least everyone at this conference is using it. </li>    <li>Adding constraint to a product can help users. (<em>Obviously, look at Apple</em>) </li>    <li>What can we take away to create something new? </li>    <li>Twitter = Blogger MINUS comments MINUS post titles MINUS pictures MINUS template MINUS formatting PLUS 140 character limit. </li>    <li>Twitter actually started with the mobile interface first, which forced the web UI to maintain simplicity. </li>    <li>API was also kept simple, and so people built apps to fill in the gaps. </li>    <li>Human interface cognitive load is proportional to the number of clicks/keystrokes/gestures. The usability of an interface is inversely geometrically proportional to its cognitive load. - Tantek Celik </li> </ul>  <p>What can we create by taking away?</p>  <ul>   <li>Only post one photo per day (fotolog). Ended up with average of 11 comments/photo (very high) and very high quality. Compare to flickr. </li>    <li>Only upload a picture and add a yes/no button. Compare to most dating sites. </li>    <li>Restrict social network to 20 friends. Compare to myspace. (Actually, this is what the 'top friends' application does on Facebook, and it's the most popular application) </li> </ul>  <p><strong>Why books and school lectures still exist</strong></p>  <p>Hans Rosling (the man behind Gapminder)</p>  <ul>   <li>He actually wanted to present remotely, but they wouldn't let him. </li>    <li>Does some very nice real-time presentations using Gapminder. He made two striking points about Africa      <ol>       <li>Africa has advanced extremely quickly. He used a graph of life expectancy vs GDP. Below is the current situation vs. Sweden throughout the years. </li>        <li>The current state of advancement within African countries is massive (~200 years). You cannot treat them as all being in the same range.          <br />          <br />          <table cellspacing="2" cellpadding="2" width="273" border="1"><tbody>             <tr>               <td valign="top" width="116">Sierra Leone</td>                <td valign="top" width="149">Sweden 1709</td>             </tr>              <tr>               <td valign="top" width="118">Mozambique</td>                <td valign="top" width="149">Sweden 1810</td>             </tr>              <tr>               <td valign="top" width="119">Uganda</td>                <td valign="top" width="149">Sweden 1877</td>             </tr>              <tr>               <td valign="top" width="119">India</td>                <td valign="top" width="149">Sweden 1910</td>             </tr>              <tr>               <td valign="top" width="119">Guatemala</td>                <td valign="top" width="149">Sweden 1933</td>             </tr>              <tr>               <td valign="top" width="119">Brazil</td>                <td valign="top" width="149">Sweden 1953</td>             </tr>              <tr>               <td valign="top" width="119">South Korea</td>                <td valign="top" width="149">Sweden 1983</td>             </tr>              <tr>               <td valign="top" width="119">Japan</td>                <td valign="top" width="149">Sweden 2004 (equal)</td>             </tr>           </tbody></table>       </li>     </ol>   </li>    <li>Another illustration is Singapore vs. France in terms of Mortality Rate and GDP compared from 1931 to 2007. In 1931 Singapore was far behind in both areas, now it has completely overtaken France. </li>    <li>Having said all that, none of these facts &amp; figures work without having storytellers. And watching Rosling, it's obviously true. </li> </ul>  <p><strong>What is social about design</strong></p>  <p>Philippe Starck. Very interesting guy but difficult talk to summarize. His main points revolve around responsible products and responsible business. Creating products that solve problems rather than (just) make money is important. Other topics covered with eco-friendliness, organic products, and ubiquitous/miniaturization of computers.</p>  <p>Perhaps the best part was at the end when Scoble got up on stage and asked him to review the Kindle. &quot;It's almost modern&quot; was his response.</p>  <p><strong>Technology impact on corporate culture (Google)</strong></p>  <ul>   <li>Drivers of change: ubiquitous connectivity, democratization of the tools of production, falling cost of storage/increase of processing power. We double storage capability every 13 months; by 2020 a device the size of an iPod could store all the content ever created.</li>    <li>At Google, revenue and profitability are an afterthought. First they try to identify customer needs and address them as fast as possible.</li>    <li>Cultural innovation - Dublin (reliability), London (apps for mobile), Zurich (search, geo infrastructure), Munich (apps for mobile), Trondheim (infrastructure, news), Haifa (localisation, ads, search quality)</li>    <li>Empowerment: 20% slack time. Small teams.</li>    <li>Speed - Fast is better than slow. Don't waste time making 2-year business plans. Release early, release often. Get feedback from customers. It's not about big beating small, but rather who is faster. <em>Change your development approach to bring things to market as quickly as possible</em>. (emphasis added)</li> </ul>  <p><strong>Storytelling and technology - evolution of society</strong></p>  <p>June Cohen from TED. Good talk. Basically pointing out that technology is returning us to the traditional (old) ways of communication. TV, newspaper, etc. and mass media are actually _new_ ways, not old. Big media is due to become smaller. </p>  <p><strong>Personalization .. 2.0 .. 3.0</strong></p>  <p>Jonathan Medved - Vringo</p>  <ul>   <li>Mobile content will become richer and needs to catch up to the web quickly</li>    <li>Look for video, animations, avatars, and photos to become more prominent</li>    <li>UGC will also take off just like it did on the web</li>    <li>Visual ringtones: need to be symmetrical and it plays on the called party's phone. Needs to be frequently changed as video gets old quickly. Could be purchased or uploaded by users.</li>    <li>The future of mobile personalization will be around straddling a call or SMS</li>    <ul>     <li>Before call: viral ad, avatar, photo, licensed or UGC content</li>      <li>During call: enterprise ad, yellow pages, consumer-pushed content, ad-supported calls</li>      <li>After call: branding ad, e-commerce, call to action, voting game</li>   </ul> </ul>]]></content:encoded>
    </item>
    <item>
      <title>XAML : XAMLPad :: LINQ : ?</title>
      <link>https://docs.microsoft.com/archive/blogs/agilemonkey/xaml-xamlpad-linq</link>
      <pubDate>Mon, 19 Nov 2007 01:31:04 GMT</pubDate>
      <dc:creator><![CDATA[Casper]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/agilemonkey/2007/11/19/xaml-xamlpad-linq/</guid>
      <description><![CDATA[One of my teammates just sent a link to LINQPad, a small application written by the authors of C#...]]></description>
      <content:encoded><![CDATA[<p>One of my teammates just sent a link to <a href="http://www.linqpad.net/">LINQPad</a>, a small application written by the authors of <a href="http://www.amazon.com/gp/product/0596527578?ie=UTF8&amp;tag=cinanu-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0596527578">C# 3.0 in a Nutshell</a>. Looks like a great tool for anyone that wants to learn LINQ or needs to execute queries on a regular basis.</p>]]></content:encoded>
    </item>
    <item>
      <title>Now you can fool your xUnit tests</title>
      <link>https://docs.microsoft.com/archive/blogs/agilemonkey/now-you-can-fool-your-xunit-tests</link>
      <pubDate>Mon, 12 Nov 2007 03:27:52 GMT</pubDate>
      <dc:creator><![CDATA[Casper]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/agilemonkey/2007/11/12/now-you-can-fool-your-xunit-tests/</guid>
      <description><![CDATA[Back in the 'early days' of xUnit, I posted an example of how to use the BeforeAfterTestAttribute to...]]></description>
      <content:encoded><![CDATA[<p>Back in the 'early days' of xUnit, I <a href="http://blogs.msdn.com/agilemonkey/archive/2007/09/27/weaving-with-xunit-net.aspx">posted an example</a> of how to use the <code>BeforeAfterTestAttribute</code> to modify a test's current identity. Now that there is an official <a href="http://www.codeplex.com/xunitext">xUnit.net Extensions project</a>, I've cleaned it up and submitted the code in <a href="http://www.codeplex.com/xunitext/SourceControl/DirectoryView.aspx?SourcePath=&amp;changeSetId=7569">change set 7569</a>.</p>  <p>I'm looking forward to seeing what the community will contribute to this project - I'm sure we can get some really handy extensions written.</p>]]></content:encoded>
    </item>
    <item>
      <title>Task Parallel Library goes public</title>
      <link>https://docs.microsoft.com/archive/blogs/agilemonkey/task-parallel-library-goes-public</link>
      <pubDate>Thu, 18 Oct 2007 06:23:11 GMT</pubDate>
      <dc:creator><![CDATA[Casper]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/agilemonkey/2007/10/18/task-parallel-library-goes-public/</guid>
      <description><![CDATA[If you're interested in taking advantage of multiple processors and code in .NET with a minimal...]]></description>
      <content:encoded><![CDATA[<p>If you're interested in taking advantage of multiple processors and code in .NET with a minimal amount of effort then this is the library for you. The introductory MSDN article is <a href="http://msdn.microsoft.com/msdnmag/issues/07/10/Futures/default.aspx">here</a>.</p>  <p>Long live <code>Parallel.For()</code> :)</p>]]></content:encoded>
    </item>
    <item>
      <title>The cool stuff is starting to surface (introducing Graffiti)</title>
      <link>https://docs.microsoft.com/archive/blogs/agilemonkey/the-cool-stuff-is-starting-to-surface-introducing-graffiti</link>
      <pubDate>Thu, 18 Oct 2007 02:53:27 GMT</pubDate>
      <dc:creator><![CDATA[Casper]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/agilemonkey/2007/10/18/the-cool-stuff-is-starting-to-surface-introducing-graffiti/</guid>
      <description><![CDATA[It's been tough not being able to write about anything that we work on here in Dublin, but slowly...]]></description>
      <content:encoded><![CDATA[<p>It's been tough not being able to write about anything that we work on here in Dublin, but slowly the details are starting to come out. Ian's <a href="http://www.liesdamnedlies.com/2007/10/the-skinny-on-g.html">latest post</a> on what we presented at e-Metrics includes a demo video of Graffiti, an automatic tagging module that's included in Gatineau Beta 2. It was completely designed, developed, and tested here and we're quite proud of it.</p>]]></content:encoded>
    </item>
    <item>
      <title>Come join us!</title>
      <link>https://docs.microsoft.com/archive/blogs/agilemonkey/come-join-us</link>
      <pubDate>Tue, 16 Oct 2007 01:52:00 GMT</pubDate>
      <dc:creator><![CDATA[Casper]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/agilemonkey/2007/10/16/come-join-us/</guid>
      <description><![CDATA[Our team here in Dublin has launched a recruiting site at http://www.joinmicrosofteurope.com/. It's...]]></description>
      <content:encoded><![CDATA[<p>Our team here in Dublin has launched a recruiting site at <a href="http://www.joinmicrosofteurope.com/?c=jbref" mce_href="http://www.joinmicrosofteurope.com/?c=jbref">http://www.joinmicrosofteurope.com/</a>. It's got information on what it's like to work here, some of the many benefits, and first-hand interviews with members of our team. As well, we're starting a MSDN blog at <a href="http://blogs.msdn.com/gpde" mce_href="http://blogs.msdn.com/gpde">http://blogs.msdn.com/gpde</a>. Go check them out!</p>]]></content:encoded>
    </item>
    <item>
      <title>ReSharper and xUnit.net</title>
      <link>https://docs.microsoft.com/archive/blogs/agilemonkey/resharper-and-xunit-net</link>
      <pubDate>Wed, 03 Oct 2007 03:10:00 GMT</pubDate>
      <dc:creator><![CDATA[Casper]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/agilemonkey/2007/10/03/resharper-and-xunit-net/</guid>
      <description><![CDATA[Those of you who have switched over to xUnit.Net may have a received a nasty surprise with the...]]></description>
      <content:encoded><![CDATA[
<p>Those of you who have switched over to xUnit.Net may have a received a nasty surprise with the 'type members layout' feature of ReSharper: it doesn't respect method attributes. Namely, you can tell it to not reorder methods in an NUnit fixture like this:&nbsp; </p>

<pre>&lt;Pattern&gt;&nbsp;&nbsp; <br> &lt;Match&gt;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &lt;HasAttribute CLRName="NUnit.Framework.TestFixture"/&gt;&nbsp;&nbsp; <br>&nbsp; &lt;/Match&gt;&nbsp;&nbsp; <br>&lt;/Pattern&gt;</pre>
<p>But you <b>cannot</b> tell it to not reorder your xUnit methods like this:&nbsp;&nbsp; </p>

<pre>&lt;Pattern&gt; <br>    &nbsp;&nbsp; &lt;Match&gt; <br>    &nbsp;&nbsp;&nbsp;&nbsp; &lt;And Weight="100"&gt; <br>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Kind Is="method"/&gt; <br>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;HasAttribute CLRName="Xunit.TestAttribute" Inherit="false"/&gt; <br>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/And&gt; <br>    &nbsp;&nbsp; &lt;/Match&gt; <br>&lt;/Pattern&gt;
</pre>Apparently it will only look for attributes on classes and interfaces. In the meantime, I think the simplest solution is to just create a fake attribute you can add to your fixture.&nbsp; 
<pre>public class ReSharperNoReorderAttribute : Attribute <br>{ <br>}
</pre>And the appropriate pattern match to ReSharper: 
<pre>&lt;Pattern&gt;<br>     &nbsp; &lt;Match&gt; <br>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;HasAttribute CLRName="ReSharperNoReorder"/&gt; <br>    &nbsp; &lt;/Match&gt; <br>&lt;/Pattern&gt;</pre>All should be well after that.]]></content:encoded>
    </item>
  </channel>
</rss>