<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;Ak4NRHc5fSp7ImA9WxNUF00.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450</id><updated>2009-11-08T21:36:35.925+02:00</updated><title>The Typemock Insider Blog</title><subtitle type="html">This blog is about .Net Unit Testing and TDD with Typemock's tools for software development. Isolator is mock framework or isolation framework and Racer is tool for solving deadlocks.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.typemock.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.typemock.com/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Roy Osherove</name><uri>http://www.blogger.com/profile/10889682616497587473</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>320</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/Typemock" type="application/atom+xml" /><feedburner:emailServiceId>Typemock</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry gd:etag="W/&quot;CE4ESH4_fSp7ImA9WxNUFkQ.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-6219525907158743135</id><published>2009-11-08T17:08:00.001+02:00</published><updated>2009-11-08T17:08:29.045+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-08T17:08:29.045+02:00</app:edited><title>What is the ROI of Unit Testing?</title><content type="html">&lt;p&gt;Well, we don’t really know. We all know it’s good in the long run. Usually we can answer how much it’s going to cost, now. And to make matters worse, the worth of a unit test can be found out only if the test breaks. So it’s like gambling: You write tests for the sake of sometimes in the future find the bug.&lt;/p&gt;  &lt;p&gt;When we started developing &lt;a href="http://learn.typemock.com/typemock-tracker-value-of-unit/"&gt;Typemock Tracker&lt;/a&gt; we thought about metrics that will help us prove that unit testing works for us. It can answer by comparison – compare a team doing unit testing to one that doesn’t. At the beginning we thought that number would be &lt;a href="http://www.elilopian.com/2009/08/04/bug-fix-time-not-a-good-metric/"&gt;bug-fix time&lt;/a&gt;. But after some dogfooding ,we found out that it’s not that. So we’ve done some re-thinking.&lt;/p&gt;  &lt;p&gt;The first thing that came out was the bugs-caught metrics. This is an absolute number, you can actually calculate the saving on. If one collected metrics (not everyone does, by the way), you can estimate the time spent in QA reproducing the bug, the amount of time the developer reproduces it on his machine, then the fixing (assuming 1 iteration between the QA and the developer. It seems that the more iterations you have, you know the cost in better precision). Then QA need to retest. So take all this time, slap a cost on it (taken right out of the QA and developer paycheck), and you’ve got savings. The number in dollars you’ve saved because a test you wrote in the past caught it. We also thought of taking it a bit further, by giving more weight to the age of the test. But we’re not there yet.&lt;/p&gt;  &lt;p&gt;The next metric is about reducing waste. And the biggest differentiator between a person doing manual testing and unit testing is the waste of debugging. Unit tests run faster, they are more focused and saved you a lot of time in reproduction, debugging and fixing the bug. And we decided that if we were to compare them, it would be by this factor. And once again, we thought that once this is measurable, you can put a price on the saved waste. &lt;/p&gt;  &lt;p&gt;So there you have it. Tracker is out (in beta form) for your evaluation. And this is where you come in. Your mission, should you decide to accept it is to start working with it. It’s an easy install, and quite graphical. For the first time, you now have a way to measure the savings of unit tests, as well the speed of adoption (track the ratio of production code/manual testing – improvement means saving). Play with your numbers and see if the calculations make sense. And let us know if you think other metrics can help.&lt;/p&gt;  &lt;p&gt;And if you find out you’ve saved mega bucks – don’t keep it to yourself. Tracker helps sell the idea of unit testing, using real numbers. &lt;a href="http://learn.typemock.com/typemock-tracker-value-of-unit/"&gt;Use it&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-6219525907158743135?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=Som3vlY166o:BRFROaM_1wI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/Som3vlY166o" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/6219525907158743135?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/6219525907158743135?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/Som3vlY166o/what-is-roi-of-unit-testing.html" title="What is the ROI of Unit Testing?" /><author><name>Gil Zilberfeld</name><uri>http://www.blogger.com/profile/18210181375618736629</uri><email>Gil.Zilberfeld@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="14153621667886631279" /></author><feedburner:origLink>http://blog.typemock.com/2009/11/what-is-roi-of-unit-testing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04GSXk_cCp7ImA9WxNUFkQ.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-6555558051324056687</id><published>2009-11-08T16:52:00.001+02:00</published><updated>2009-11-08T16:52:08.748+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-08T16:52:08.748+02:00</app:edited><title>“Yesterday’s news” got a whole new meaning.</title><content type="html">&lt;p&gt;Last Wednesday, I went to a seminar that showed just how much influence bloggers &amp;amp; Twitter have these days. &lt;/p&gt;  &lt;p&gt;It was quite amazing to see how many companies haven't realized this yet – some didn't even believe that people used Google to find more information about them.&lt;/p&gt;  &lt;p&gt;The seminar talked about the need combine both ways – 'classical media' along with the online presence to interact with your users, to get the feedback we need to make our tools the best possible.&lt;/p&gt;  &lt;p&gt;It was really interesting to see the added value that bloggers and Twitters have on different campaigns, and I learned that no matter how much we twitter and blog today, things move so fast, that you constantly need to stay on top of the information flow, because the term “Yesterday’s news” has a whole new meaning.&lt;/p&gt;  &lt;p&gt;Hearing the lectures at the seminar made me think “we are doing that, we use &lt;a href="http://www.twitter.com/typemock"&gt;twitter&lt;/a&gt; and we have our own blog &amp;amp; &lt;a href="http://www.typemock.com/community/index.php"&gt;forum&lt;/a&gt; – we are part of this new generation already and we use this platforms quite regularly”… we still can do better of course, as they said – it’s moving real fast and you need to catch up… so I guess that now we need to keep that in mind and constantly twit, blog, talk and be.&lt;/p&gt;  &lt;p&gt;All I have left to say is thanks &lt;a href="http://uk.linkedin.com/in/thepetershackleton"&gt;Peter Shackleton&lt;/a&gt; from &lt;a href="http://www.eclat.co.uk/"&gt;éclat Marketing&lt;/a&gt; for a very interesting talk, and &lt;a href="http://uk.linkedin.com/pub/sandy-hammer/5/bb1/703"&gt;Sandy&lt;/a&gt; from &lt;a href="http://www.conference-art.com/"&gt;Conference ART&lt;/a&gt; for organizing the seminar and inviting me to participate.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-6555558051324056687?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=eeGTCIsgpPo:prxxNm6PZsc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/eeGTCIsgpPo" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/6555558051324056687?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/6555558051324056687?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/eeGTCIsgpPo/yesterdays-news-got-whole-new-meaning.html" title="“Yesterday’s news” got a whole new meaning." /><author><name>Adi Beker</name><uri>http://www.blogger.com/profile/01731531205330493144</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05030417878404195449" /></author><feedburner:origLink>http://blog.typemock.com/2009/11/yesterdays-news-got-whole-new-meaning.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcFSXk7fCp7ImA9WxNUFE4.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-5496756418568068986</id><published>2009-11-05T16:38:00.000+02:00</published><updated>2009-11-05T16:40:18.704+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-05T16:40:18.704+02:00</app:edited><title>How good is your unit testing?</title><content type="html">We have just released a new and very cool tool called &lt;a href="http://learn.typemock.com/typemock-tracker-value-of-unit/"&gt;Typemock Tracker&lt;/a&gt; .&lt;br /&gt;&lt;br /&gt;Typemock Tracker can help you to track exactly how good your unit testing is, by giving you an easy view of:&lt;br /&gt;&lt;br /&gt;· How your time is divided between unit testing and manual debugging&lt;br /&gt;· Your unit testing ROI&lt;br /&gt;· How you are doing compared to other developers in the team&lt;br /&gt;· Howe well the team is doing&lt;br /&gt;&lt;br /&gt;This information can help the entire team to track their work, see where improvements are needed and implement the improvement easily.&lt;br /&gt;&lt;br /&gt;For more information make sure to visit our &lt;a href="http://learn.typemock.com/typemock-tracker-value-of-unit/"&gt;Typemock Tracker&lt;/a&gt; page.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-5496756418568068986?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=LKD_zSESBQo:fmhf0a7z_Ac:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/LKD_zSESBQo" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/5496756418568068986?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/5496756418568068986?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/LKD_zSESBQo/how-good-is-your-unit-testing.html" title="How good is your unit testing?" /><author><name>Moran</name><uri>http://www.blogger.com/profile/07283979443235542393</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04966189828724736452" /></author><feedburner:origLink>http://blog.typemock.com/2009/11/how-good-is-your-unit-testing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cCRHgzcSp7ImA9WxNVGEk.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-4230441908325908531</id><published>2009-10-29T22:44:00.001+02:00</published><updated>2009-10-29T22:44:25.689+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-29T22:44:25.689+02:00</app:edited><title>“What’s new in Tests” Episode 2</title><content type="html">&lt;p&gt;We didn’t wait too long for this &lt;a href="http://learn.typemock.com/this-week-in-test/2009/10/29/episode-2-lamest-test.html"&gt;one&lt;/a&gt;. It’s still filmed in the underground, yet it really smells like roses.&lt;/p&gt;  &lt;p&gt;If you like it (really like it), comment, twit and retwit. If not – well, tough. We’re going to do it anyway. But if you have topics you’d like covered, questions you’d like to ask, death threats you’d like to send - start by posting some comments. For example, we already have a request for an audio only version. We’re looking to put it on ITunes, so if someone has already done this before, don’t hesitate to help us.&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-4230441908325908531?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=Hi_20bhR48U:AJ6Rqvt1iGI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/Hi_20bhR48U" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/4230441908325908531?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/4230441908325908531?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/Hi_20bhR48U/whats-new-in-tests-episode-2.html" title="“What’s new in Tests” Episode 2" /><author><name>Gil Zilberfeld</name><uri>http://www.blogger.com/profile/18210181375618736629</uri><email>Gil.Zilberfeld@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="14153621667886631279" /></author><feedburner:origLink>http://blog.typemock.com/2009/10/whats-new-in-tests-episode-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEBRH48eip7ImA9WxNVGE0.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-4074607534267556427</id><published>2009-10-29T11:14:00.001+02:00</published><updated>2009-10-29T11:14:15.072+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-29T11:14:15.072+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Advanced" /><category scheme="http://www.blogger.com/atom/ns#" term="Intellitest" /><title>Creating a MOQ IntelliTest suggestion in 5 minutes</title><content type="html">&lt;p&gt;one of the “hidden” features in the &lt;a href="http://learn.typemock.com/download/"&gt;latest typemock release&lt;/a&gt; is the fact that the Intellitest suggestion engine is extensible.&lt;/p&gt;  &lt;p&gt;I was easily able to add suggestions to create fake objects using MOQ, for example.&lt;/p&gt;  &lt;p&gt;here’s what the code to create an ISuggestionProvider looks like:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_ZvYVTm3TxKM/Sulc2oRy4BI/AAAAAAAAAFs/L5fg3eXo3II/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_ZvYVTm3TxKM/Sulc36-ejVI/AAAAAAAAAFw/anCWnI5Rt8s/image_thumb%5B1%5D.png?imgmax=800" width="941" height="391" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;and here’s what it looks like in visual studio:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_ZvYVTm3TxKM/Sulc4GRxsHI/AAAAAAAAAF0/oMsH2NOVYC0/s1600-h/image%5B14%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_ZvYVTm3TxKM/Sulc4hBf2DI/AAAAAAAAAF4/LUFwSMdOQvc/image_thumb%5B8%5D.png?imgmax=800" width="388" height="166" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;and selecting the top option leads to:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_ZvYVTm3TxKM/Sulc5KyNSdI/AAAAAAAAAF8/QWl1L6FYX1A/s1600-h/image%5B12%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_ZvYVTm3TxKM/Sulc5nv4ZmI/AAAAAAAAAGA/U2g6sEfj_JA/image_thumb%5B6%5D.png?imgmax=800" width="517" height="148" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;here’s the complete process:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Create a new class library&lt;/li&gt;    &lt;li&gt;Add a reference to Typemock.Productivity.Contracts located under [Typemock install dir]\Extensions&lt;/li&gt;    &lt;li&gt;Implement the ISuggestion provider interface (only one method)&lt;/li&gt;    &lt;li&gt;the method you implement will give you all the possible types (for the various overload of the method the cursor is in)&lt;/li&gt;    &lt;li&gt;return relevant suggestions based on the type properties (is it an interface? a value type?)&lt;/li&gt;    &lt;li&gt;Compile and deploy the dll to the same Extensions directory where the contracts dll resides&lt;/li&gt;    &lt;li&gt;You’ll need to restart visual studio to see the changes (or enable-disable the typemock productivity addin)&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;a few notes:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;IntelliTest &lt;strong&gt;only&lt;/strong&gt; works on test methods (a method where there are the relevant XUnit, NUnit or MS Test attributes)&lt;/li&gt;    &lt;li&gt;IntelliTest only works when the project has a reference to one of the major known unit testing framrworks (mentioned above)&lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-4074607534267556427?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=UELu1ubCvHg:2qJ_eskiWow:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/UELu1ubCvHg" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/4074607534267556427?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/4074607534267556427?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/UELu1ubCvHg/creating-moq-intellitest-suggestion-in.html" title="Creating a MOQ IntelliTest suggestion in 5 minutes" /><author><name>Roy Osherove</name><uri>http://www.blogger.com/profile/10889682616497587473</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08040549062274394207" /></author><feedburner:origLink>http://blog.typemock.com/2009/10/creating-moq-intellitest-suggestion-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ENQXgzeCp7ImA9WxNVFkg.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-3538078654372978970</id><published>2009-10-27T18:08:00.001+02:00</published><updated>2009-10-27T18:08:10.680+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-27T18:08:10.680+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Intellitest" /><category scheme="http://www.blogger.com/atom/ns#" term="Announcements" /><category scheme="http://www.blogger.com/atom/ns#" term="Releases" /><title>Typemock Isolator 5.4.3 released</title><content type="html">&lt;p&gt;Today we’ve released a new Isolator version – those of you who want to get it right away just click &lt;a href="http://www.typemock.com/Downloads.php"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;After &lt;a href="http://learn.typemock.com/unit-test-easier-intellitest/" target="_blank"&gt;releasing Intellitest last week&lt;/a&gt;, we received a lot of excellent feedback from our customers, both how it helps writing tests and issues it causes. We’ve worked hard over the past week to release a new version which fixes some of the issues you raised.&lt;/p&gt;  &lt;p&gt;But that’s not all - we’re also releasing a new extensibility model, if you want &lt;a href="http://learn.typemock.com/unit-test-easier-intellitest/" target="_blank"&gt;Intellitest&lt;/a&gt; to create custom suggestions, now you can do it. Stay tuned; we promise to tell you all about soon.&lt;/p&gt;  &lt;p&gt;Of course we also have a few bug fixes and features as well:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Fixed a bug with True Properties that caused rare test failures &lt;/li&gt;    &lt;li&gt;Solved a few bugs with resolving methods on classes with type constraints &lt;/li&gt;    &lt;li&gt;Verify.WasCalledWithExcatArguments() provides better error message when Equals() is not implemented in the originating argument type &lt;/li&gt;    &lt;li&gt;You can use Isolate.Invoke.Event() from inside a DoInstead() delegate&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;So what are you waiting for go to our site and &lt;a href="http://learn.typemock.com/download/"&gt;download it&lt;/a&gt; today.&lt;/p&gt;  &lt;p&gt;And we’d like to thank our customers for helping us make our products better.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-3538078654372978970?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=7ruYMqLM9tE:br9aHfuNM8Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/7ruYMqLM9tE" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/3538078654372978970?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/3538078654372978970?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/7ruYMqLM9tE/typemock-isolator-543-released.html" title="Typemock Isolator 5.4.3 released" /><author><name>Dror Helper</name><uri>http://www.blogger.com/profile/04664241287712801778</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14941583444711874923" /></author><feedburner:origLink>http://blog.typemock.com/2009/10/typemock-isolator-543-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04MRnw-eip7ImA9WxNVFkg.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-5387380980611977583</id><published>2009-10-27T18:02:00.000+02:00</published><updated>2009-10-27T18:13:07.252+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-27T18:13:07.252+02:00</app:edited><title>New - Web Cast by Roy Osherove and Gil Zilberfeld</title><content type="html">We are very happy to let you know that &lt;a href="http://weblogs.asp.net/ROsherove/"&gt;Roy Osherove &lt;/a&gt;and &lt;a href="http://gil-zilberfeld.blogspot.com/"&gt;Gil Zilberfeld &lt;/a&gt;have started a new web cast, &lt;a href="http://learn.typemock.com/this-week-in-test/"&gt;'This Week In Testing'&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In this web cast Roy and Gil will talk about current tech news, their favorite subjects, as well as all the new things in the unit testing world. &lt;br /&gt;&lt;br /&gt;In the first recording, which is a bit late already in posting, we talk about &lt;a href="http://www.joelonsoftware.com/"&gt;Joel Spolsky&lt;/a&gt;’s &lt;a href="http://www.joelonsoftware.com/items/2009/09/23.html"&gt;duct tape programmer&lt;/a&gt; and &lt;a href="http://blogs.tedneward.com/"&gt;Ted Neward&lt;/a&gt;’s revelations &lt;a href="http://blogs.tedneward.com/2009/10/12/quotAgile+Is+Treating+The+Symptoms+Not+The+Diseasequot.aspx"&gt;on agile not curing the software disease&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;We would love to hear comments on this web cast as well as suggestions for topics for future web casts. Please note that you can comment in this blog, or in the web cast page itself in Typemock's site.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://learn.typemock.com/this-week-in-test/"&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;See this Web Cast Now !&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-5387380980611977583?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=xTocb-26Vao:J1VfFzSGZQQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/xTocb-26Vao" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/5387380980611977583?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/5387380980611977583?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/xTocb-26Vao/new-web-cast-by-roy-osherove-and-gil.html" title="New - Web Cast by Roy Osherove and Gil Zilberfeld" /><author><name>Moran</name><uri>http://www.blogger.com/profile/07283979443235542393</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04966189828724736452" /></author><feedburner:origLink>http://blog.typemock.com/2009/10/new-web-cast-by-roy-osherove-and-gil.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMCQn0zeSp7ImA9WxNVFUU.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-3849477539854296848</id><published>2009-10-26T22:04:00.001+02:00</published><updated>2009-10-26T22:04:23.381+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-26T22:04:23.381+02:00</app:edited><title>SharePoint Conference Impressions</title><content type="html">&lt;p&gt;Last week I spent a few days in Las Vegas, at the SharePoint conference. First a disclaimer: it’s a tough job, but someone had to do it. Now, back on topic. There’s a lot already been said about it, I want to add some more, from my point of view.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;It was a BIG conference (7000 attendees). My biggest ever. (On my way to a session, I was sure I was not going to find my back). And it went without a hitch. Kudos for MS and the organizers.&lt;/li&gt;    &lt;li&gt;So much positive energy! There was a lot of excitement, just from being there. And then people got excited from the content. It was really cool to see all this, well, excitement.&lt;/li&gt;    &lt;li&gt;Oh, and I was carrying a camera, so I took some &lt;a href="http://learn.typemock.com/sharepoint/"&gt;pictures and videos&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;I got to meet people I’ve been talking to offline in person, like &lt;a href="http://www.21apps.com/blog/"&gt;Andrew Woodward&lt;/a&gt; and &lt;a href="http://wss.made4the.net/default.aspx"&gt;Jeremy Thake&lt;/a&gt; (thanks for the shirt, Jeremy!). I also met a bunch more new guys, plus hang around the MS pavilion, and met some more great people as well. People are very open about the good but also about where they can improve.&lt;/li&gt;    &lt;li&gt;MS is doing a lot of things to diminish pains. And it’s doing it by automation, without changing the experience. For example, when you debug, VS automatically retracts the old deployment, cleans up and deploys, before running the app. It then goes into regular debug mode. Simple, but man, people loved it.&lt;/li&gt;    &lt;li&gt;Last, but not least, the “SharePoint 2010 best practices” presentation featured a demonstration of unit testing SharePoint webpart with Isolator. This was very cool to see, and if you manage to take a look at that session, you’ll be impressed as well. Chris Keyser the presenter showed an integration test compared to a unit test, and cut down the run length by 80%. See how much time you’re wasting?&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I can tell you more, but hey, whatever happens in Vegas, stays on Twitter.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-3849477539854296848?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=6AsxAT40JBM:VATwBcUCIso:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/6AsxAT40JBM" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/3849477539854296848?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/3849477539854296848?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/6AsxAT40JBM/sharepoint-conference-impressions.html" title="SharePoint Conference Impressions" /><author><name>Gil Zilberfeld</name><uri>http://www.blogger.com/profile/18210181375618736629</uri><email>Gil.Zilberfeld@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="14153621667886631279" /></author><feedburner:origLink>http://blog.typemock.com/2009/10/sharepoint-conference-impressions.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcHQH0-eyp7ImA9WxNVFUo.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-815739097300291729</id><published>2009-10-26T19:27:00.001+02:00</published><updated>2009-10-26T19:27:11.353+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-26T19:27:11.353+02:00</app:edited><title>The Webinars Q&amp;A</title><content type="html">&lt;p&gt;We’ve been quiet a bit on our webinar front. And before unveiling our newest project (stay tuned for that) we thought this would be a good time to ask:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Have the webinars been useful? which ones?' &lt;/li&gt;    &lt;li&gt;What topics would you like to see covered next? &lt;/li&gt;    &lt;li&gt;Do you like the format? &lt;/li&gt;    &lt;li&gt;Do you watch the webinar on the site, or do you download them? &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;We’re very interested at what you think, in order to continue providing you more content you can enjoy and use. See the comments part of the page? That’s where you come in. Share with us.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-815739097300291729?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=-7OWJYa8wf8:UfFro-pNp34:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/-7OWJYa8wf8" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/815739097300291729?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/815739097300291729?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/-7OWJYa8wf8/webinars-q.html" title="The Webinars Q&amp;amp;A" /><author><name>Gil Zilberfeld</name><uri>http://www.blogger.com/profile/18210181375618736629</uri><email>Gil.Zilberfeld@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="14153621667886631279" /></author><feedburner:origLink>http://blog.typemock.com/2009/10/webinars-q.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYCR3g4fyp7ImA9WxNVEE0.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-131819919992587204</id><published>2009-10-20T04:02:00.001+02:00</published><updated>2009-10-20T04:02:46.637+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-20T04:02:46.637+02:00</app:edited><title>TDD Is Not For The Weak</title><content type="html">&lt;p&gt;I paired with a nameless person on the development team last week (I would name them but I don’t remember who it was. But hey, I love you, whoever you are!). It’s been an eye opening experience, not because we did something different. On the contrary – it was regular work at Typemock.&lt;/p&gt;  &lt;p&gt;What we did is add a feature. We did this by using TDD. We did it by the book. Add a test that tested a small part of functionality. We then added the code that satisfied the test. And then we repeated, by adding tests for the next additional functionality. For the particular feature, we did that for a couple of hours and the feature is done.&lt;/p&gt;  &lt;p&gt;A day later it occurred to me – not everyone can do that. Technically maybe, we’re all aware of the TDD steps. But it took a pair of experienced programmers to maintain the slow pace. To have the discipline not to jump forward, and focus on the small functionality. Pairing worked because both of us kept the eyes on the target, yet took pleasure (weird, huh?) by marking off completed scenarios.&lt;/p&gt;  &lt;p&gt;So if TDD is for the Alpha, the strong, the experienced, what’s left for the rest? Is this why TDD does not catch on? If TDD is not enabling unit testing, because it’s bound to fail most of the time, then what will?&lt;/p&gt;  &lt;p&gt;We should change our ways. &lt;/p&gt;  &lt;p&gt;Yesterday, we launched &lt;a href="http://blog.typemock.com/2009/10/isolator-542-released-introducing.html"&gt;Isolator 5.4.2&lt;/a&gt; with Intellitest. This is the first of many features and product we’ll be launching soon. Intellitest is about making the pain of writing unit tests go away. Our next features are going the same way.&lt;/p&gt;  &lt;p&gt;TDD’s failure is a symptom. Successful TDD means you’ve come a long way, baby. But many don’t succeed. And we can help them. &lt;/p&gt;  &lt;p&gt;We’ve just begun. Expect more soon.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-131819919992587204?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=dwyqATLsMds:cXcBTkY2ZF8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/dwyqATLsMds" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/131819919992587204?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/131819919992587204?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/dwyqATLsMds/tdd-is-not-for-weak.html" title="TDD Is Not For The Weak" /><author><name>Gil Zilberfeld</name><uri>http://www.blogger.com/profile/18210181375618736629</uri><email>Gil.Zilberfeld@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="14153621667886631279" /></author><feedburner:origLink>http://blog.typemock.com/2009/10/tdd-is-not-for-weak.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUNQHgzfip7ImA9WxNWGUs.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-3131578469671698131</id><published>2009-10-19T16:40:00.000+02:00</published><updated>2009-10-19T17:48:11.686+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-19T17:48:11.686+02:00</app:edited><title>Microsoft SharePoint Conference 2009 - First Pics</title><content type="html">First pictures from #SPC09 are in !&lt;br /&gt;We will continue to upload more pics and videos as they come, stay tuned for more...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_B8p2PyYHoKk/StyHrJ5ZKyI/AAAAAAAAACc/fUOtVt-55w0/s1600-h/IMG_0144.jpg"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 200px; FLOAT: right; HEIGHT: 150px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5394335629143780130" border="0" alt="" src="http://4.bp.blogspot.com/_B8p2PyYHoKk/StyHrJ5ZKyI/AAAAAAAAACc/fUOtVt-55w0/s200/IMG_0144.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_B8p2PyYHoKk/StyHqe5NHgI/AAAAAAAAACM/dFW7WQA20t4/s1600-h/IMG_0142.jpg"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 200px; FLOAT: right; HEIGHT: 150px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5394335617600265730" border="0" alt="" src="http://1.bp.blogspot.com/_B8p2PyYHoKk/StyHqe5NHgI/AAAAAAAAACM/dFW7WQA20t4/s200/IMG_0142.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_B8p2PyYHoKk/StyHq0el0dI/AAAAAAAAACU/ncrsm20Pras/s1600-h/IMG_0143.jpg"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 200px; FLOAT: right; HEIGHT: 150px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5394335623394218450" border="0" alt="" src="http://3.bp.blogspot.com/_B8p2PyYHoKk/StyHq0el0dI/AAAAAAAAACU/ncrsm20Pras/s200/IMG_0143.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_B8p2PyYHoKk/StyHpnEbiaI/AAAAAAAAAB8/MPtUHognJJQ/s1600-h/IMG_0140.jpg"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 200px; FLOAT: right; HEIGHT: 150px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5394335602614962594" border="0" alt="" src="http://4.bp.blogspot.com/_B8p2PyYHoKk/StyHpnEbiaI/AAAAAAAAAB8/MPtUHognJJQ/s200/IMG_0140.jpg" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_B8p2PyYHoKk/StyHpyvI6XI/AAAAAAAAACE/1-Hn0oqkq04/s1600-h/IMG_0141.jpg"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 200px; FLOAT: right; HEIGHT: 150px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5394335605746887026" border="0" alt="" src="http://2.bp.blogspot.com/_B8p2PyYHoKk/StyHpyvI6XI/AAAAAAAAACE/1-Hn0oqkq04/s200/IMG_0141.jpg" /&gt;&lt;/a&gt; &lt;a href="http://3.bp.blogspot.com/_B8p2PyYHoKk/StyHRYR7MoI/AAAAAAAAAB0/4OUD_k1TzoU/s1600-h/IMG_0137.jpg"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 200px; FLOAT: right; HEIGHT: 150px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5394335186328171138" border="0" alt="" src="http://3.bp.blogspot.com/_B8p2PyYHoKk/StyHRYR7MoI/AAAAAAAAAB0/4OUD_k1TzoU/s200/IMG_0137.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_B8p2PyYHoKk/StyHQx8YQeI/AAAAAAAAABs/2ROeKHwjoxY/s1600-h/IMG_0136.jpg"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 200px; FLOAT: right; HEIGHT: 150px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5394335176037253602" border="0" alt="" src="http://2.bp.blogspot.com/_B8p2PyYHoKk/StyHQx8YQeI/AAAAAAAAABs/2ROeKHwjoxY/s200/IMG_0136.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_B8p2PyYHoKk/StyHQFfVodI/AAAAAAAAABk/xLMrGQft6gU/s1600-h/IMG_0135.jpg"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 200px; FLOAT: right; HEIGHT: 150px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5394335164104286674" border="0" alt="" src="http://4.bp.blogspot.com/_B8p2PyYHoKk/StyHQFfVodI/AAAAAAAAABk/xLMrGQft6gU/s200/IMG_0135.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_B8p2PyYHoKk/StyHP__Ag-I/AAAAAAAAABc/3VfrUfy_OFs/s1600-h/IMG_0134.jpg"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 200px; FLOAT: right; HEIGHT: 150px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5394335162626507746" border="0" alt="" src="http://2.bp.blogspot.com/_B8p2PyYHoKk/StyHP__Ag-I/AAAAAAAAABc/3VfrUfy_OFs/s200/IMG_0134.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_B8p2PyYHoKk/StyHPdZ28II/AAAAAAAAABU/4tXCsoK4qfU/s1600-h/IMG_0133.jpg"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 200px; FLOAT: right; HEIGHT: 150px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5394335153343885442" border="0" alt="" src="http://2.bp.blogspot.com/_B8p2PyYHoKk/StyHPdZ28II/AAAAAAAAABU/4tXCsoK4qfU/s200/IMG_0133.jpg" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_B8p2PyYHoKk/StyGIai-EkI/AAAAAAAAAA0/qgcLq_yLRsk/s1600-h/IMG_0130.jpg"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 200px; FLOAT: right; HEIGHT: 150px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5394333932806083138" border="0" alt="" src="http://2.bp.blogspot.com/_B8p2PyYHoKk/StyGIai-EkI/AAAAAAAAAA0/qgcLq_yLRsk/s200/IMG_0130.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_B8p2PyYHoKk/StyGJPocy5I/AAAAAAAAAA8/FhlYNNhUzf0/s1600-h/IMG_0131.jpg"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 200px; FLOAT: right; HEIGHT: 150px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5394333947056147346" border="0" alt="" src="http://3.bp.blogspot.com/_B8p2PyYHoKk/StyGJPocy5I/AAAAAAAAAA8/FhlYNNhUzf0/s200/IMG_0131.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_B8p2PyYHoKk/StyF4Kos5QI/AAAAAAAAAAk/vnlQDVESfC0/s1600-h/IMG_0126.jpg"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 200px; FLOAT: right; HEIGHT: 150px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5394333653657249026" border="0" alt="" src="http://3.bp.blogspot.com/_B8p2PyYHoKk/StyF4Kos5QI/AAAAAAAAAAk/vnlQDVESfC0/s200/IMG_0126.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_B8p2PyYHoKk/StyGJmnQSOI/AAAAAAAAABE/Ro6aFAfa4kE/s1600-h/IMG_0132.jpg"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 200px; FLOAT: right; HEIGHT: 150px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5394333953225148642" border="0" alt="" src="http://1.bp.blogspot.com/_B8p2PyYHoKk/StyGJmnQSOI/AAAAAAAAABE/Ro6aFAfa4kE/s200/IMG_0132.jpg" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_B8p2PyYHoKk/StyGKE02knI/AAAAAAAAABM/YFwZY_KHUV0/s1600-h/IMG_0133.jpg"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 200px; FLOAT: right; HEIGHT: 150px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5394333961335247474" border="0" alt="" src="http://1.bp.blogspot.com/_B8p2PyYHoKk/StyGKE02knI/AAAAAAAAABM/YFwZY_KHUV0/s200/IMG_0133.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_B8p2PyYHoKk/StyGIHvGKMI/AAAAAAAAAAs/YuJg76VL9Zs/s1600-h/IMG_0128.jpg"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 200px; FLOAT: right; HEIGHT: 150px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5394333927756671170" border="0" alt="" src="http://1.bp.blogspot.com/_B8p2PyYHoKk/StyGIHvGKMI/AAAAAAAAAAs/YuJg76VL9Zs/s200/IMG_0128.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-3131578469671698131?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=XDo7AAjjnNI:b6INKc-Q7eo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/XDo7AAjjnNI" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/3131578469671698131?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/3131578469671698131?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/XDo7AAjjnNI/microsoft-sharepoint-conference-2009_19.html" title="Microsoft SharePoint Conference 2009 - First Pics" /><author><name>Moran</name><uri>http://www.blogger.com/profile/07283979443235542393</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04966189828724736452" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_B8p2PyYHoKk/StyHrJ5ZKyI/AAAAAAAAACc/fUOtVt-55w0/s72-c/IMG_0144.jpg" height="72" width="72" /><feedburner:origLink>http://blog.typemock.com/2009/10/microsoft-sharepoint-conference-2009_19.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UEQ3k6cCp7ImA9WxNWGUk.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-8429450164159210454</id><published>2009-10-19T12:40:00.000+02:00</published><updated>2009-10-19T12:46:42.718+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-19T12:46:42.718+02:00</app:edited><title>Microsoft SharePoint Conference 2009 Update</title><content type="html">Come join the Typemock events in the &lt;a href="http://www.mssharepointconference.com/"&gt;Microsoft SharePoint Conference 2009 &lt;/a&gt;(#SPC09) in Las Vegas.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Typemock Poker Night:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Join us on the evening of October 19 at the &lt;a href="http://www.mandalaybay.com/"&gt;Mandalay Bay &lt;/a&gt;Hotel (official conference hotel) for a poker night where you can display your gaming skills. Come relax after a long day of sessions, meet friends and colleagues, and most importantly, come play your best hand and spend an entertaining evening with other poker buffs. To sweeten the pot, Typemock will give each player $40 (according to competition rules - sits are limited). Win or lose, gamers get to go home with a cool &amp;amp; exclusive Typemock T‑shirt!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Typemock All You Can Eat Night:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;On October 21, come eat in an all-you-can-eat dinner at &lt;a href="http://www.mandalaybay.com/"&gt;Mandalay Bay &lt;/a&gt;Hotel . Don’t miss the opportunity to hang out with colleagues and new friends from around the world over great food and beer. This promises to be a unique social evening for fun and relaxation. And you get to go home with cool surprises.&lt;br /&gt;&lt;br /&gt;These events are a must on your evening entertainment schedule! Come ready to have lots and lots of fun!&lt;br /&gt;&lt;br /&gt;To stay updated about the events, make sure to follow our &lt;a href="http://blog.typemock.com/"&gt;blog &lt;/a&gt;and &lt;a href="http://twitter.com/typemock"&gt;twitter&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;To RSVP&lt;/strong&gt; for the events, make a Tweet about it (including the event name and the #SPC09 hash tag). Places are limited, so be there on time.&lt;br /&gt;&lt;br /&gt;In addition to the above events, We'll be walking among participants with a video camera interviewing developers, IT professionals, and virtually anybody else on our path. At the same time, Typemock’s CEO &lt;a href="http://www.elilopian.com/"&gt;Eli Lopian &lt;/a&gt;will be attending conference sessions and meeting people to answer questions and explain what Typemock is all about. Feeds of the interviews and pictures will be uploaded in real time to Typemock’s &lt;a href="http://learn.typemock.com/"&gt;website &lt;/a&gt;Typemock's blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-8429450164159210454?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=CE5FiLTCSaM:LLDUraTDCeo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/CE5FiLTCSaM" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/8429450164159210454?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/8429450164159210454?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/CE5FiLTCSaM/microsoft-sharepoint-conference-2009.html" title="Microsoft SharePoint Conference 2009 Update" /><author><name>Moran</name><uri>http://www.blogger.com/profile/07283979443235542393</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04966189828724736452" /></author><feedburner:origLink>http://blog.typemock.com/2009/10/microsoft-sharepoint-conference-2009.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cAQXc_cSp7ImA9WxNWGEU.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-2991931521464538467</id><published>2009-10-18T17:50:00.001+02:00</published><updated>2009-10-18T17:50:40.949+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-18T17:50:40.949+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Intellitest" /><category scheme="http://www.blogger.com/atom/ns#" term="Announcements" /><title>Isolator 5.4.2 released - introducing Intellitest Productivity tool</title><content type="html">&lt;p&gt;Today we’ve released a new Isolator version – those of you who want to get it right away just click &lt;a href="http://www.typemock.com/Downloads.php"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The feature we’re really psyched up about is Intellitest.&lt;/p&gt;  &lt;p&gt;Intellitest is first of a series of tools that helps write better unit tests, faster. Starting with fake objects can be difficult and frustrating so we aimed to simplify the process of creating a fake object.&lt;/p&gt;  &lt;p&gt;Intellitest auto completes and generates code declaration for you! In this first version we added the following functionality:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:15325fba-0a52-4ca6-88c5-1ced88178e79" class="wlWriterEditableSmartContent"&gt;&lt;div id="39e099c8-27fb-4941-9dff-9ef35db312f2" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=AIr1uheuPIs&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" target="_new"&gt;&lt;img src="http://lh6.ggpht.com/_xBtHhN4kUkQ/Sts5T7LTBaI/AAAAAAAACvk/evm48RhWtoY/video487da5058401%5B3%5D.jpg?imgmax=800" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('39e099c8-27fb-4941-9dff-9ef35db312f2'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/AIr1uheuPIs&amp;amp;hl=en&amp;amp;fs=1&amp;amp;&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/AIr1uheuPIs&amp;amp;hl=en&amp;amp;fs=1&amp;amp;&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;Whenever the caret is placed inside a method call, Intellitest will suggest faking the current argument for you. Intellitest will create the faking code, using statements and add references to your test project – how about that for productivity?&lt;/p&gt;  &lt;p&gt;And the really great thing is that this feature is an integral part of Isolator (at least for now) – so &lt;a href="http://learn.typemock.com/download/" target="_blank"&gt;download it&lt;/a&gt;, use it and let us know what you think and how we can make this tool even better.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-2991931521464538467?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=9KU381gJItg:QltsoVJMv04:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/9KU381gJItg" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/2991931521464538467?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/2991931521464538467?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/9KU381gJItg/isolator-542-released-introducing.html" title="Isolator 5.4.2 released - introducing Intellitest Productivity tool" /><author><name>Dror Helper</name><uri>http://www.blogger.com/profile/04664241287712801778</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14941583444711874923" /></author><feedburner:origLink>http://blog.typemock.com/2009/10/isolator-542-released-introducing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cEQHY5eSp7ImA9WxNWFU4.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-1656097594609095053</id><published>2009-10-14T15:44:00.000+02:00</published><updated>2009-10-14T16:36:41.821+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-14T16:36:41.821+02:00</app:edited><title>Typemock Events- Microsoft SharePoint Conference 2009</title><content type="html">Come join the Typemock events in the &lt;a href="http://www.mssharepointconference.com/"&gt;Microsoft SharePoint Conference 2009 &lt;/a&gt;(#SPC09) in Las Vegas.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Typemock Poker Night:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Join us on the evening of October 19 at the &lt;a href="http://www.mandalaybay.com/"&gt;Mandalay Bay &lt;/a&gt;Hotel (official conference hotel) for a poker night where you can display your gaming skills. Come relax after a long day of sessions, meet friends and colleagues, and most importantly, come play your best hand and spend an entertaining evening with other poker buffs. To sweeten the pot, Typemock will give each player $40 (according to competition rules - sits are limited). Win or lose, gamers get to go home with a cool &amp;amp; exclusive Typemock T‑shirt!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Typemock All You Can Eat Night:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;On October 21, come eat in an all-you-can-eat dinner at &lt;a href="http://www.mandalaybay.com/"&gt;&lt;strong&gt;Mandalay Bay&lt;/strong&gt; &lt;/a&gt;Hotel . Don’t miss the opportunity to hang out with colleagues and new friends from around the world over great food and beer. This promises to be a unique social evening for fun and relaxation. And you get to go home with a Typemock T-shirt and a “Beer-Driven Development” magnet®!&lt;br /&gt;These events are a must on your evening entertainment schedule! Come ready to have lots and lots of fun!&lt;br /&gt;&lt;br /&gt;To stay updated about the events and to see how you can participate in them, make sure to follow our &lt;a href="http://blog.typemock.com/"&gt;blog &lt;/a&gt;and &lt;a href="http://twitter.com/typemock"&gt;twitter&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In addition to the above events, We'll be walking among participants with a video camera interviewing developers, IT professionals, and virtually anybody else on our path. At the same time, Typemock’s CEO &lt;a href="http://www.elilopian.com/"&gt;Eli Lopian &lt;/a&gt;will be attending conference sessions and meeting people to answer questions and explain what Typemock is all about. Feeds of the interviews and pictures will be uploaded in real time to Typemock’s &lt;a href="http://learn.typemock.com/"&gt;website &lt;/a&gt;Typemock's blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-1656097594609095053?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=0Ookleg2Kkk:91vGv1oC8ak:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/0Ookleg2Kkk" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/1656097594609095053?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/1656097594609095053?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/0Ookleg2Kkk/typemock-events-microsoft-sharepoint.html" title="Typemock Events- Microsoft SharePoint Conference 2009" /><author><name>Moran</name><uri>http://www.blogger.com/profile/07283979443235542393</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04966189828724736452" /></author><feedburner:origLink>http://blog.typemock.com/2009/10/typemock-events-microsoft-sharepoint.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQGR3g5eyp7ImA9WxNWEkg.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-1395879741243767854</id><published>2009-10-11T08:30:00.001+02:00</published><updated>2009-10-11T12:18:46.623+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-11T12:18:46.623+02:00</app:edited><title>What’s New with CThru</title><content type="html">&lt;p&gt;It’s been a while since I’ve &lt;a href="http://blog.typemock.com/search?q=cthru"&gt;written&lt;/a&gt; about &lt;a href="http://cthru.codeplex.com/"&gt;CThru&lt;/a&gt;. For those who don’t know what it is – it’s an AOP engine, running on top of Isolator, that allows you to very easily write aspects in your code.&lt;/p&gt;&lt;p&gt;CThru (and SilverUnit, which is an implementation of CThru to take lots of anguish out of testing Silverlight apps) is moving forward. With the help of &lt;a href="http://sm-art.biz/home.aspx"&gt;Artem Smirnov&lt;/a&gt; (author of Ivonna, the ASP.Net Isolator add on) is adding features to CThru. Ivonna is now using CThru to run its excellent features.&lt;/p&gt;&lt;p&gt;If you’re interested in these kind of stuff, and open source development is something you’re considering, why not join the CThru project? &lt;a href="mailto:gilz@typemock.com"&gt;Let us know &lt;/a&gt;if you’re interested. And take it for a ride. It’s so powerful, you can really do so much with it. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-1395879741243767854?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=mUmUl29eZt8:HkQGUOAaWCA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/mUmUl29eZt8" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/1395879741243767854?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/1395879741243767854?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/mUmUl29eZt8/whats-new-with-cthru.html" title="What’s New with CThru" /><author><name>Gil Zilberfeld</name><uri>http://www.blogger.com/profile/18210181375618736629</uri><email>Gil.Zilberfeld@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="14153621667886631279" /></author><feedburner:origLink>http://blog.typemock.com/2009/10/whats-new-with-cthru.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UHRH4zeyp7ImA9WxNXFEw.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-7944558138643734876</id><published>2009-10-01T18:21:00.000+02:00</published><updated>2009-10-01T18:40:35.083+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-01T18:40:35.083+02:00</app:edited><title>Twitter Geek Quiz - Show off your geekness on Twitter - #GeekQuiz</title><content type="html">&lt;p align="left"&gt;Over the years, there have been many geek traditions, from the early days where stone age geeks tried adding Bluetooth to their…well…stone, to our days where geeks gather in many events like Comic-con, Sci-Fi movie premiers and WOW detox support groups. And now, Typemock is starting a new tradition – the "Twitter developers Geek Quiz".&lt;/p&gt;&lt;p align="left"&gt;&lt;br /&gt;Are you a developer and a geek? Do you know invaluable information like the name of the main character in Half-life*, who created Star Wars** or what is a static method***? Come to Typemock's "Twitter developers Geek Quiz", check out if your knowledge is as good as you think and win cool prizes.&lt;/p&gt;&lt;p align="left"&gt;&lt;br /&gt;The "Twitter developers Geek Quiz" uses Twitter (obviously) as a quiz platform for this event. This quiz will include questions on geek trivia and software development trivia. Everyone is welcome to join! &lt;/p&gt;&lt;p align="left"&gt;&lt;strong&gt;So what do I have to do to participate?&lt;/strong&gt;&lt;/p&gt;&lt;p align="left"&gt;All you have to do to join is Tweet any message with the quiz's hash tag – &lt;strong&gt;&lt;span style="color:#660000;"&gt;#GeekQuiz&lt;/span&gt;&lt;/strong&gt;. The quiz is limited to the first 400 people who tweet the hash-tag, so be quick!&lt;/p&gt;&lt;p align="left"&gt;&lt;br /&gt;&lt;strong&gt;Event details:&lt;/strong&gt;&lt;br /&gt;On 14-Oct-2009, at 3pm EDT / 7pm GMT follow the hash tag, you will see questions from the &lt;a href="http://twitter.com/typemock"&gt;@typemock&lt;/a&gt; account. Be in the first to answer and get points, be amongst the ones with the highest points and win many cool geek prizes like a WIFi detecting T-shirt, an XBOX and many more geek prizes. &lt;/p&gt;&lt;p align="left"&gt;This quiz will also include special bonus questions, asked by &lt;a href="http://xprogramming.com/index.php"&gt;Ron Jeffries&lt;/a&gt; (Author of 'Extreme Programming Installed'), &lt;a href="http://blog.toolshed.com/"&gt;Andy Hunt&lt;/a&gt; (Author of 'The Pragmatic Programmer') and &lt;a href="http://weblogs.asp.net/ROsherove/"&gt;Roy Osherove&lt;/a&gt; (Author of 'The Art Of Unit testing), answer the bonus questions correctly and get a signed book by the author.&lt;/p&gt;&lt;p align="left"&gt;Make sure to follow &lt;a href="http://twitter.com/typemock"&gt;Typewmock's Twitter &lt;/a&gt;to get all the updated info on this event.&lt;/p&gt;&lt;p align="left"&gt;&lt;br /&gt;So what are you waiting for? Make a tweet with the hash tag &lt;strong&gt;&lt;span style="color:#660000;"&gt;#GeekQuiz&lt;/span&gt;&lt;/strong&gt; now!&lt;br /&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;br /&gt;*Gordon Freeman &lt;/p&gt;&lt;p align="left"&gt;** George Lucas *&lt;/p&gt;&lt;p align="left"&gt;** A global method&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-7944558138643734876?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=sTG2QuSS8X0:huJJ1hSL_Sg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/sTG2QuSS8X0" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/7944558138643734876?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/7944558138643734876?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/sTG2QuSS8X0/twitter-geek-quiz-show-off-your.html" title="Twitter Geek Quiz - Show off your geekness on Twitter - #GeekQuiz" /><author><name>Moran</name><uri>http://www.blogger.com/profile/07283979443235542393</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04966189828724736452" /></author><feedburner:origLink>http://blog.typemock.com/2009/10/twitter-geek-quiz-show-off-your.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEINSH06eyp7ImA9WxNQFU4.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-7481654842326741372</id><published>2009-09-21T12:54:00.001+03:00</published><updated>2009-09-21T15:36:39.313+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-21T15:36:39.313+03:00</app:edited><title>Typemock Isolator 5.3.5 is out!</title><content type="html">It's time for a new Isolator version - those of you who want to get it right away just click &lt;a href="http://www.typemock.com/Downloads.php"&gt;here&lt;/a&gt;.&lt;div&gt;Still with me? Good - here's what's new and great with this Isolator version:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;First off, we created a new API for helping you invoke inaccessible methods and events. You can use Isolate.Invoke.Event() to invoke any event, and Isolate.Invoke.Method() to invoke private methods. You can find more info and examples &lt;a href="http://www.typemock.com/Docs/UserGuide/newGuide/Documentation/FiringEvents.html"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Another feature several of you asked is custom verification - now you can verify a call happened and pass the test only if its parameters match your own custom checker. This is done by using Isolate.Verify.WasCalledWithArguments().Matching() - full documentation of this feature can be found &lt;a href="http://www.typemock.com/Docs/UserGuide/newGuide/Documentation/VerifyingCallsAAA.html"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Last but certainly not least, we have a few bug fixes lined up:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Error messages provided by Verify are much clearer and provide a lot more information&lt;/li&gt;&lt;li&gt;Behavior of ref/out parameters for Recursive Fakes is now fixed&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That's it! As usual, you can download the version on our &lt;a href="http://www.typemock.com/Downloads.php"&gt;download page&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-7481654842326741372?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=s2jMOh7Mv34:-NGXWe9vmQ0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/s2jMOh7Mv34" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/7481654842326741372?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/7481654842326741372?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/s2jMOh7Mv34/typemock-isolator-535-is-out.html" title="Typemock Isolator 5.3.5 is out!" /><author><name>Doron</name><uri>http://www.blogger.com/profile/13185101479718644339</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06157075945476037805" /></author><feedburner:origLink>http://blog.typemock.com/2009/09/typemock-isolator-535-is-out.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMFRX4_eCp7ImA9WxNQEUw.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-8223655788018164889</id><published>2009-09-15T17:37:00.000+03:00</published><updated>2009-09-16T18:03:34.040+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-16T18:03:34.040+03:00</app:edited><title>Unit testing .NET successfully - Live free Webinar</title><content type="html">Another week, another Typemock webinar :-) . In this one, we'll be showing how to unit test successfully from day 1.&lt;br /&gt;&lt;br /&gt;We know that unit testing can get tricky, and it is Typemock's goal to make unit testing as easy as possible. &lt;a href="http://blogs.microsoft.co.il/blogs/dhelper/"&gt;Dror Helper &lt;/a&gt;and &lt;a href="http://gil-zilberfeld.blogspot.com/"&gt;Gil Zilberfeld &lt;/a&gt;will host this webinar, sharing some of the must-have tips of .NET &lt;a href="http://learn.typemock.com/"&gt;unit testing&lt;/a&gt;, tips that any developer who wants to get ahead in his company by implementing unit tests right.&lt;br /&gt;&lt;br /&gt;You'll be getting tools that not only improve your unit testing skills, but also helps you get your work place to start unit testing properly. You will get invaluable tips which are a must.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The webinar will include the following:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;· Creating Supporting environment&lt;br /&gt;· Unit testing tools of the trade&lt;br /&gt;· Practices and Pitfalls&lt;br /&gt;· Writing the first test&lt;br /&gt;· Q &amp;amp; A&lt;br /&gt;&lt;br /&gt;Click the link to register and secure a place for your preferred time:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;22/sep/09&lt;/strong&gt;  8am GMT – &lt;a href="https://www2.gotomeeting.com/register/147070587"&gt;https://www2.gotomeeting.com/register/147070587&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And again at 2pm EDT - &lt;a href="https://www2.gotomeeting.com/register/197324858"&gt;https://www2.gotomeeting.com/register/197324858&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As always, if you've got any specific topics or questions that you want to cover in the Webinar, let us know in the comments below!&lt;br /&gt;&lt;br /&gt;We look forward to seeing you all there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-8223655788018164889?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=eJ1BotUQVJY:mdL2UJlL9C0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/eJ1BotUQVJY" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/8223655788018164889?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/8223655788018164889?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/eJ1BotUQVJY/unit-testing-net-successfully-live-free.html" title="Unit testing .NET successfully - Live free Webinar" /><author><name>Moran</name><uri>http://www.blogger.com/profile/07283979443235542393</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04966189828724736452" /></author><feedburner:origLink>http://blog.typemock.com/2009/09/unit-testing-net-successfully-live-free.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYAQ3w9eSp7ImA9WxNRE00.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-2834620374468473848</id><published>2009-09-07T10:22:00.001+03:00</published><updated>2009-09-07T10:22:22.261+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-07T10:22:22.261+03:00</app:edited><title>Mocking Entity Framework</title><content type="html">&lt;p&gt;A week ago, &lt;a href="http://mosesofegypt.net/"&gt;Muhammad Mosa&lt;/a&gt; sent a question to our support. After looking around a bit, I discovered that Muhammad is working with Entity Framework (EF). I asked him if he could do a post on faking EF, since this is becoming a hot topic.&lt;/p&gt;  &lt;p&gt;And boy, did he deliver! You can read Muhammad’s post “&lt;a href="http://mosesofegypt.net/post/Introducing-Entity-Framework-Unit-Testing-with-TypeMock-Isolator.aspx"&gt;Introducing Entity Framework Unit Testing with TypeMock Isolator&lt;/a&gt;”, download the code and play with it for yourself.&lt;/p&gt;  &lt;p&gt;It’s so cool that we got such great people in the developer community. The entire work was done in less than a week, all by himself! This shows how passionate developers can really push forward technologies, processes and innovation.&lt;/p&gt;  &lt;p&gt;Thank you Muhammad!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-2834620374468473848?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=pG8I_icM8RU:Ykl3xDvxo7A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/pG8I_icM8RU" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/2834620374468473848?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/2834620374468473848?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/pG8I_icM8RU/mocking-entity-framework.html" title="Mocking Entity Framework" /><author><name>Gil Zilberfeld</name><uri>http://www.blogger.com/profile/18210181375618736629</uri><email>Gil.Zilberfeld@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="14153621667886631279" /></author><feedburner:origLink>http://blog.typemock.com/2009/09/mocking-entity-framework.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IGSXk5fCp7ImA9WxNREkg.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-6583668951905270691</id><published>2009-09-06T18:19:00.001+03:00</published><updated>2009-09-06T18:38:48.724+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-06T18:38:48.724+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="unit testing" /><category scheme="http://www.blogger.com/atom/ns#" term="Unit test" /><title>Testability of East Oriented Code</title><content type="html">&lt;h3&gt;&lt;/h3&gt; &lt;h3&gt;Introduction&lt;/h3&gt; &lt;p&gt;&lt;a href="http://jamesladdcode.com/"&gt;&lt;/a&gt;&lt;a href="http://farm3.static.flickr.com/2433/3885396138_225acf62e6_m.jpg" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="By Urville Djasim" border="0" alt="By Urville Djasim" align="right" src="http://lh3.ggpht.com/_Zs5PrU6IvpQ/SqPTEvL1c2I/AAAAAAAAANA/1gvHkzsGptI/3885396138_225acf62e6_m%5B4%5D.jpg?imgmax=800" width="164" height="244" /&gt;&lt;/a&gt;&lt;a href="http://jamesladdcode.com/"&gt;James Ladd&lt;/a&gt; wrote great post about &lt;a href="http://jamesladdcode.com/?p=12"&gt;East Oriented Code&lt;/a&gt;. In this post we’ll discuss the influence of east code on its testability. &lt;/p&gt; &lt;p&gt;For simplification, east code is mainly characterized by that all public methods return void. Usage of this “rule of void” makes the code focus on the “Tell, don’t ask” attitude.&lt;/p&gt; &lt;h3&gt;What does it have to do with testability?&lt;/h3&gt; &lt;p&gt;For making things simpler, let’s go over a simple example based on the &lt;em&gt;MoviesLister&lt;/em&gt; used in James post. The goal of this code is to add stars to Steven Spielberg movies.&lt;/p&gt; &lt;h4&gt;West code&lt;/h4&gt; &lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; WestMovieLister&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;readonly&lt;/span&gt; IWestFinder moviesWestFinder;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; WestMovieLister(IWestFinder moviesWestFinder)&lt;/pre&gt;&lt;pre&gt;    {&lt;/pre&gt;&lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;this&lt;/span&gt;.moviesWestFinder = moviesWestFinder;&lt;/pre&gt;&lt;pre&gt;    }&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; IWestMovie[] MoviesDirectedBy(&lt;span class="kwrd"&gt;string&lt;/span&gt; requestedDirector)&lt;/pre&gt;&lt;pre class="alt"&gt;    {&lt;/pre&gt;&lt;pre&gt;        var allMovies = moviesWestFinder.FindAll();&lt;/pre&gt;&lt;pre class="alt"&gt;        var directorMovies = allMovies.Where(movie =&amp;gt; movie.Director == requestedDirector).ToArray();&lt;/pre&gt;&lt;pre&gt;        &lt;span class="kwrd"&gt;return&lt;/span&gt; directorMovies;&lt;/pre&gt;&lt;pre class="alt"&gt;    }&lt;/pre&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; WestStarsAdder&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; AddStarsToMovies(IWestMovie[] moviesToAddStartTo)&lt;/pre&gt;&lt;pre&gt;    {&lt;/pre&gt;&lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var movie &lt;span class="kwrd"&gt;in&lt;/span&gt; moviesToAddStartTo)&lt;/pre&gt;&lt;pre&gt;        {&lt;/pre&gt;&lt;pre class="alt"&gt;            movie.AddStar();&lt;/pre&gt;&lt;pre&gt;        }&lt;/pre&gt;&lt;pre class="alt"&gt;    }&lt;/pre&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;h4&gt;West tests&lt;/h4&gt;&lt;span class="Apple-style-span"   style=" white-space: pre; font-family:monospace, serif;font-size:13px;"&gt;[TestMethod]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; TestWestMovieLister()&lt;/pre&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;{&lt;/pre&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre&gt;    var fakeSpielbergMovie = Isolate.Fake.Instance&amp;lt;WestMovie&amp;gt;();&lt;/pre&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;    Isolate.WhenCalled(() =&amp;gt; fakeSpielbergMovie.Director).WillReturn(&lt;span class="str"&gt;"Steven Spielberg"&lt;/span&gt;);&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt; &lt;span class="Apple-style-span"   style="  white-space: pre; font-family:monospace, serif;font-size:13px;"&gt;    var fakeNonSpielbergMovie = Isolate.Fake.Instance&amp;lt;WestMovie&amp;gt;();&lt;/span&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre&gt;    Isolate.WhenCalled(() =&amp;gt; fakeNonSpielbergMovie.Director).WillReturn(&lt;span class="str"&gt;"Not Steven Spielberg"&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt; &lt;/pre&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre&gt;    var fakeFinder = Isolate.Fake.Instance&amp;lt;WestFinder&amp;gt;();&lt;/pre&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;    Isolate.WhenCalled(() =&amp;gt; fakeFinder.FindAll())&lt;/pre&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre&gt;        .WillReturnCollectionValuesOf(&lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;WestMovie&amp;gt; { fakeSpielbergMovie, fakeNonSpielbergMovie });&lt;/pre&gt;&lt;pre&gt; &lt;/pre&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;    var movieLister = &lt;span class="kwrd"&gt;new&lt;/span&gt; WestMovieLister(fakeFinder);&lt;/pre&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;    var movies = movieLister.MoviesDirectedBy(&lt;span class="str"&gt;"Steven Spielberg"&lt;/span&gt;);&lt;/pre&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre&gt;    CollectionAssert.AreEquivalent(&lt;span class="kwrd"&gt;new&lt;/span&gt;[] { fakeSpielbergMovie }, movies);&lt;/pre&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="Apple-style-span"   style="font-family:Georgia, serif;font-size:130%;"&gt;&lt;span class="Apple-style-span"  style=" white-space: normal;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre&gt;[TestMethod]&lt;/pre&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; TestWestStarsAdder()&lt;/pre&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;    var fakeMovie = Isolate.Fake.Instance&amp;lt;WestMovie&amp;gt;(Members.CallOriginal, ConstructorWillBe.Called, &lt;span class="str"&gt;"Director"&lt;/span&gt;);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre&gt;    var starsAdder = &lt;span class="kwrd"&gt;new&lt;/span&gt; WestStarsAdder();&lt;/pre&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre&gt;    starsAdder.AddStarsToMovies(&lt;span class="kwrd"&gt;new&lt;/span&gt;[] {fakeMovie});&lt;/pre&gt;&lt;pre&gt; &lt;/pre&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;    Assert.AreEqual(1, fakeMovie.Stars);&lt;/pre&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Testing this code is very straight forward. All needed to be done is give basic inputs to the classes and easily check the state of the returned values.&lt;/p&gt;&lt;h4&gt;East code&lt;/h4&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; EastMovieLister&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;readonly&lt;/span&gt; IEastFinder moviesFinder;&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; EastMovieLister(IEastFinder moviesFinder)&lt;/pre&gt;&lt;pre&gt;    {&lt;/pre&gt;&lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;this&lt;/span&gt;.moviesFinder = moviesFinder;&lt;/pre&gt;&lt;pre&gt;    }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; ApplyToMoviesDirectedBy(IMovieAction movieAction, &lt;span class="kwrd"&gt;string&lt;/span&gt; director)&lt;/pre&gt;&lt;pre class="alt"&gt;    {&lt;/pre&gt;&lt;pre&gt;        moviesFinder.FindAllAndApply(&lt;span class="kwrd"&gt;new&lt;/span&gt; MovieDirectorFilterActionDecorator(movieAction, director));&lt;/pre&gt;&lt;pre class="alt"&gt;    }&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;class&lt;/span&gt; MovieDirectorFilterActionDecorator : IMovieAction&lt;/pre&gt;&lt;pre&gt;    {&lt;/pre&gt;&lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;readonly&lt;/span&gt; IMovieAction movieAction;&lt;/pre&gt;&lt;pre&gt;        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;readonly&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; director;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="Apple-style-span"  style="font-size:-webkit-xxx-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; MovieDirectorFilterActionDecorator(IMovieAction movieAction, &lt;span class="kwrd"&gt;string&lt;/span&gt; director)&lt;/pre&gt;&lt;pre class="alt"&gt;        {&lt;/pre&gt;&lt;pre&gt;            &lt;span class="kwrd"&gt;this&lt;/span&gt;.movieAction = movieAction;&lt;/pre&gt;&lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;this&lt;/span&gt;.director = director;&lt;/pre&gt;&lt;pre&gt;        }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; ApplyTo(IEastMovie movie)&lt;/pre&gt;&lt;pre&gt;        {&lt;/pre&gt;&lt;pre class="alt"&gt;            movie.IfDirectedByDo(director, movieAction);&lt;/pre&gt;&lt;pre&gt;        }&lt;/pre&gt;&lt;pre class="alt"&gt;    }&lt;/pre&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; EastMovie : IEastMovie&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;readonly&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; director;&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; EastMovie(&lt;span class="kwrd"&gt;string&lt;/span&gt; director)&lt;/pre&gt;&lt;/pre&gt;&lt;pre&gt;    {&lt;br /&gt;&lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;this&lt;/span&gt;.director = director;&lt;/pre&gt;&lt;/pre&gt;&lt;pre&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; AddStar()&lt;br /&gt;&lt;pre class="alt"&gt;    {&lt;/pre&gt;&lt;/pre&gt;&lt;pre&gt;        stars++;&lt;br /&gt;&lt;pre class="alt"&gt;    }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; stars;&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; IfDirectedByDo(&lt;span class="kwrd"&gt;string&lt;/span&gt; directorToFilter, IMovieAction movieAction)&lt;/pre&gt;&lt;/pre&gt;&lt;pre&gt;    {&lt;/pre&gt;&lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (director == directorToFilter)&lt;/pre&gt;&lt;pre&gt;        {&lt;/pre&gt;&lt;pre class="alt"&gt;            movieAction.ApplyTo(&lt;span class="kwrd"&gt;this&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;        }&lt;/pre&gt;&lt;pre class="alt"&gt;    }&lt;/pre&gt;&lt;pre&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4&gt;East tests&lt;/h4&gt;&lt;p&gt;The moment we start thinking of a test we see that there is no state to verify against:&lt;/p&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; ApplyToMoviesDirectedBy(IMovieAction movieAction, &lt;span class="kwrd"&gt;string&lt;/span&gt; director)&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This method has no return value, so there is nothing to check there. Unit testing this method forces us to test the interaction between the objects.&lt;/p&gt;&lt;p&gt;What are we going to check? We can check that &lt;em&gt;EastMovie.IfDirectedByDo&lt;/em&gt;&lt;strong&gt; &lt;/strong&gt;was called. We can also check that &lt;em&gt;EastMovie.AddStar&lt;/em&gt; was called, we can check if the &lt;em&gt;IMovieAction.ApplyTo&lt;/em&gt; was called and we can check if &lt;em&gt;EastFinder.FindAllAndApply&lt;/em&gt; was called. What should we choose? Since we’re unit testing we’ll choose the closest object – &lt;em&gt;EastFinder&lt;/em&gt;.&lt;/p&gt;&lt;br /&gt;&lt;h5&gt;First attempt&lt;/h5&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;[TestMethod]&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; TestEastMovieLister()&lt;br /&gt;&lt;pre class="alt"&gt;{&lt;/pre&gt;&lt;/pre&gt;&lt;pre&gt;    var fakeFinder = Isolate.Fake.Instance&amp;lt;EastFinder&amp;gt;();&lt;br /&gt;&lt;pre class="alt"&gt;    var mockMovieAction = Isolate.Fake.Instance&amp;lt;IMovieAction&amp;gt;();&lt;/pre&gt;&lt;/pre&gt;&lt;pre&gt; &lt;br /&gt;&lt;pre class="alt"&gt;    var movieLister = &lt;span class="kwrd"&gt;new&lt;/span&gt; EastMovieLister(fakeFinder);&lt;/pre&gt;&lt;/pre&gt;&lt;pre&gt;    movieLister.ApplyToMoviesDirectedBy(mockMovieAction, &lt;span class="str"&gt;"Steven Spielberg"&lt;/span&gt;);&lt;br /&gt;&lt;pre class="alt"&gt; &lt;/pre&gt;&lt;/pre&gt;&lt;pre&gt;    Isolate.Verify.WasCalledWithAnyArguments(() =&amp;gt; fakeFinder.FindAllAndApply(&lt;span class="kwrd"&gt;null&lt;/span&gt;));&lt;br /&gt;&lt;pre class="alt"&gt;}&lt;/pre&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span class="Apple-style-span"   style="font-family:monospace, serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style=" white-space: pre;font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;After taking a close look at this test – what it does is actually reversing the code logic. Does this test ensure that if we send an &lt;em&gt;AddStarAction&lt;/em&gt; Spielberg’s movies will get another star? Not really, it doesn’t even check if the passed action is the &lt;em&gt;AddStarAction&lt;/em&gt;. Also, we know we can’t verify it. It will be over specification (and in this case it won’t really work).&lt;/p&gt;&lt;br /&gt;&lt;h5&gt;Second attempt&lt;/h5&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;[TestMethod]&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; TestWestMovieLister()&lt;br /&gt;&lt;pre class="alt"&gt;{&lt;/pre&gt;&lt;/pre&gt;&lt;pre&gt;    var fakeMovie = Isolate.Fake.Instance&amp;lt;EastMovie&amp;gt;(Members.CallOriginal,&lt;br /&gt;&lt;pre class="alt"&gt;                                                     ConstructorWillBe.Called,&lt;/pre&gt;&lt;/pre&gt;&lt;pre&gt;                                                     &lt;span class="str"&gt;"Steven Spielberg"&lt;/span&gt;);&lt;br /&gt;&lt;pre class="alt"&gt;    var fakeFinder = Isolate.Fake.Instance&amp;lt;EastFinder&amp;gt;(Members.CallOriginal);&lt;/pre&gt;&lt;/pre&gt;&lt;pre&gt;    fakeFinder.AddMovie(fakeMovie);&lt;br /&gt;&lt;pre class="alt"&gt;    &lt;/pre&gt;&lt;/pre&gt;&lt;pre&gt;    var mockMovieAction = Isolate.Fake.Instance&amp;lt;IMovieAction&amp;gt;();&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;    var movieLister = &lt;span class="kwrd"&gt;new&lt;/span&gt; EastMovieLister(fakeFinder);&lt;br /&gt;&lt;pre class="alt"&gt;    movieLister.ApplyToMoviesDirectedBy(mockMovieAction, &lt;span class="str"&gt;"Steven Spielberg"&lt;/span&gt;);&lt;/pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;&lt;pre class="alt"&gt;    Isolate.Verify.WasCalledWithAnyArguments(() =&amp;gt; mockMovieAction.ApplyTo(&lt;span class="kwrd"&gt;null&lt;/span&gt;));&lt;/pre&gt;&lt;/pre&gt;&lt;pre&gt;}&lt;style type="text/css"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;What we have now? We’re sure our action was called. We could also verify it was called with our fake movie, but again, it’s over specification. Second attempt and our test is still away from being satisfying.&lt;/p&gt;&lt;br /&gt;&lt;h5&gt;Third attempt&lt;/h5&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;[TestMethod]&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; TestEastMovieLister()&lt;br /&gt;&lt;pre class="alt"&gt;{&lt;/pre&gt;&lt;/pre&gt;&lt;pre&gt;    var mockMovie = Isolate.Fake.Instance&amp;lt;EastMovie&amp;gt;(Members.CallOriginal,&lt;br /&gt;&lt;pre class="alt"&gt;                                                     ConstructorWillBe.Called,&lt;/pre&gt;&lt;/pre&gt;&lt;pre&gt;                                                     &lt;span class="str"&gt;"Steven Spielberg"&lt;/span&gt;);&lt;br /&gt;&lt;pre class="alt"&gt;    var fakeFinder = Isolate.Fake.Instance&amp;lt;EastFinder&amp;gt;(Members.CallOriginal);&lt;/pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;    fakeFinder.AddMovie(mockMovie);&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;    var fakeMovieAction = Isolate.Fake.Instance&amp;lt;AddStarAction&amp;gt;(Members.CallOriginal);&lt;br /&gt;&lt;pre class="alt"&gt; &lt;/pre&gt;&lt;/pre&gt;&lt;pre&gt;    var movieLister = &lt;span class="kwrd"&gt;new&lt;/span&gt; EastMovieLister(fakeFinder);&lt;br /&gt;&lt;pre class="alt"&gt;    movieLister.ApplyToMoviesDirectedBy(fakeMovieAction, &lt;span class="str"&gt;"Steven Spielberg"&lt;/span&gt;);&lt;/pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;&lt;pre class="alt"&gt;    Isolate.Verify.WasCalledWithAnyArguments(() =&amp;gt; mockMovie.AddStar());&lt;/pre&gt;&lt;/pre&gt;&lt;pre&gt;}&lt;style type="text/css"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;This test takes us one step further. Now we have more confidence that our test actually tests what it’s intended to. This test is surly not enough. If we want to be sure this test is OK we have to check that our movie adds one star only. This make us count the calls to &lt;em&gt;AddStar&lt;/em&gt;, we have no other way since &lt;em&gt;EastMovie&lt;/em&gt; doesn’t have a getter that tells us how many stars it has.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;What have we learnt so far?&lt;/h3&gt;&lt;p&gt;As we can see from our last test, in order to get high confidence even simple unit tests looks like integration test. East code has better encapsulation of its state which makes it harder to test the state and forces us to check the interaction.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Conclusion&lt;/h3&gt;&lt;p&gt;East code improves encapsulation but reduces out ability to write tests against objects states. Code with strong east orientation will have more interaction based tests than west oriented code. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;If so, should we reduce our east orientation to improve its testability? In my opinion - No. Orienting east makes the code having more classes with focused responsibility. These kind of classes are less likely to change and of course smaller (by code and interface).&lt;/p&gt;&lt;p&gt;How’s the conclusion fits all of the above? East orientation is a compass, it helps us aim to better code:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;“The structuring of code to an East orientation decreases coupling and the amount of code needed to be written, whilst increasing code clarity, cohesion and flexibility. It is easier to create a good design and structure by simply orienting it East.”&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;With these qualities, we have focused tests (yet, interaction based) on focused classes. Focused code is less likely to change, and focused classes are easier to test – this is the major advantage we gain by adjusting to the east oriented code.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-6583668951905270691?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=kVkz9o43PqE:5UV-na6ap5U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/kVkz9o43PqE" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/6583668951905270691?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/6583668951905270691?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/kVkz9o43PqE/testability-of-east-oriented-code.html" title="Testability of East Oriented Code" /><author><name>Elisha</name><uri>http://www.blogger.com/profile/12151191468696121257</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09852497352026834803" /></author><feedburner:origLink>http://blog.typemock.com/2009/09/testability-of-east-oriented-code.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQHRnk5fip7ImA9WxNREEw.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-6308899530827056731</id><published>2009-09-03T23:07:00.000+03:00</published><updated>2009-09-04T00:45:37.726+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-04T00:45:37.726+03:00</app:edited><title>Looking Back: 6 Examples How Isolator Became More Awesome This Year</title><content type="html">&lt;div&gt;During the last couple of days I've received some questions about whether Isolator's maintenance subscription, with the upgrades and bug fixes that come with it, is worth the investment. To answer these questions I looked back at our release notes, commit logs and backlog documentation to see what we accomplished since this time last year. Writing these emails turned from a chore to a joy, and I just had to share the pride - we have been able to add so much value to the product this year! Here are the highlights:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;The AAA API&lt;/b&gt; - now, this is a biggy, so I'll take a few lines to explain. Our C# AAA API was &lt;a href="http://blog.typemock.com/2008/08/typemock-isolator-50-released.html"&gt;released almost exactly a year ago&lt;/a&gt; (the 3rd week of August if you want to be pedantic), and was improved, extended and polished throughout the year. Using it myself, and listening closely to customer feedback I can say with confidence: it's simply awesome. The ease of use when writing tests, and readability when reviewing them is superb; however, it's more than syntactic sugar: we put painstaking effort in designing the API for maintainability. The default behaviors, feature set (Recursive Fakes, True Properties, True Indexers and more) protect your test code: if you refactor the code under test without changing the way interaction with your fake objects works, in all probability you won't have to change your test code. This is huge to me - there's nothing more depressing than changing tests for change's sake, even if no functionality was changed. This is what we've aimed for, and I'm proud to say we made it.&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.typemock.com/2009/01/typemock-isolator-520-released.html"&gt;&lt;b&gt;VB.NET support&lt;/b&gt;&lt;/a&gt; -Isolator's VB friendly API is designed around the same design principals that make our c# API great, but specifically for the VB developer. To make sure we did this right we all turned (or returned) to VB development in order to feel the pain when using an API obviously designed for another language.&lt;/li&gt;&lt;li style="direction: ltr;"&gt;&lt;a href="http://blog.typemock.com/2009/06/dark-side-of-faking-datetimenow.html"&gt;&lt;b&gt;MsCorLib faking support&lt;/b&gt;&lt;/a&gt; - we really thought it couldn't be done (I'll spare you the technical reasons). Faking the framework's core object model, from DateTime to data structures and file system became our eternal known limitation. Then when we developed &lt;a href="http://blog.typemock.com/2008/09/woes-of-multithreaded-design.html"&gt;Typemock Racer&lt;/a&gt;, and some creative thinking showed us to the way to fake mscorlib types. Isolator already supports faking DateTime.Now and File.ReadAllText, and much more will come (by the way, if you have an mscorlib type you would like to see joining the party next, leave me a comment below).&lt;/li&gt;&lt;li style="direction: ltr;"&gt;&lt;a href="http://www.typemock.com/sharepointpage.php"&gt;&lt;b&gt;Isolator for SharePoint&lt;/b&gt;&lt;/a&gt; - it is excessively hard to fake behavior on the SharePoint object model. In fact, Isolator is the only tool that can. Now we offer a dedicated SharePoint product, and lots of materials on unit testing SharePoint on &lt;a href="http://www.typemock.com/sharepointpage.php"&gt;our site&lt;/a&gt; and on independent &lt;a href="http://www.21apps.com/tag/typemock/"&gt;experts' sites&lt;/a&gt;.&lt;/li&gt;&lt;li style="direction: ltr;"&gt;&lt;b&gt;Tons of new features&lt;/b&gt; - really too many to list here. Naming a few off the top of my head (and linking to the details): faking &lt;a href="http://www.typemock.com/Docs/UserGuide/newGuide/Documentation/RealObjectBehaviorInAAA.html"&gt;Live Object&lt;/a&gt; behavior, better &lt;a href="http://www.typemock.com/Docs/UserGuide/newGuide/Documentation/CreatingFutureFakesWithAAA.html"&gt;Future Instance&lt;/a&gt; faking, advanced constructor handling (&lt;a href="http://www.typemock.com/Docs/UserGuide/newGuide/Documentation/ConstructorArgumentsAAA.html"&gt;1&lt;/a&gt;, &lt;a href="http://www.typemock.com/Docs/UserGuide/newGuide/Documentation/ControllingBaseClassBehaviorCSharp.html"&gt;2&lt;/a&gt;) , and &lt;a href="http://blog.typemock.com/2008/10/typemock-isolator-511-is-out.html"&gt;duck-type swapping&lt;/a&gt; (a personal favorite of mine).&lt;/li&gt;&lt;li style="direction: ltr;"&gt;&lt;b&gt;Megatons of bug fixes&lt;/b&gt; - I would be silly to try and create any sort of list, but let me say this (&lt;a href="http://blog.typemock.com/2009/08/utilizing-kanban-to-manage-support-at.html"&gt;again&lt;/a&gt;): support is top priority for us. We actively and aggressively pursue bugs. Sometimes the bugs fight back, but we mostly win :). All Isolator releases come with what we judge as the most important bug fixes, and we make sure to put in a good number of those.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;So there you go. Of course, there's much more. I'm strongly biased toward the product development, but our &lt;a href="http://www.typemock.com/"&gt;site&lt;/a&gt; received a major overhaul and offers better accessibility to learning materials, we improved our &lt;a href="http://blog.typemock.com/2009/08/utilizing-kanban-to-manage-support-at.html"&gt;customer support process&lt;/a&gt;, provide &lt;a href="http://new.typemock.com/articles/"&gt;unit testing webinars&lt;/a&gt; and participated in lots of &lt;a href="http://blog.typemock.com/2009/06/pictures-from-typemocks-ndc09-unit.html"&gt;events &lt;/a&gt;and &lt;a href="http://blog.typemock.com/2009/02/tdd-in-real-world-presentation-we-had.html"&gt;talks&lt;/a&gt;. It's been a busy year, and looking back at it (pretty much at a random point in time too) makes me feel happy with the value we managed to provide. Excuse me while I pat myself (and the rest of the team) on the back. Don't worry, we won't let up - expect some pretty exciting stuff soon!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-6308899530827056731?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=B9Poh9VQdZk:FZLM7ON5Jfg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/B9Poh9VQdZk" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/6308899530827056731?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/6308899530827056731?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/B9Poh9VQdZk/looking-back-6-examples-how-isolator.html" title="Looking Back: 6 Examples How Isolator Became More Awesome This Year" /><author><name>Doron</name><uri>http://www.blogger.com/profile/13185101479718644339</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06157075945476037805" /></author><feedburner:origLink>http://blog.typemock.com/2009/09/looking-back-6-examples-how-isolator.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkIDQ3g4fSp7ImA9WxNSGUQ.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-3673081535512401461</id><published>2009-09-03T18:07:00.000+03:00</published><updated>2009-09-03T18:09:32.635+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-03T18:09:32.635+03:00</app:edited><title>What kind of .NET technology are you unit testing?</title><content type="html">Typemock has the ability to unit test many .NET technologies, such as SharePoint, WPF, ADO.NET, Entity Framework, LinQ and more.&lt;br /&gt;&lt;br /&gt;So what's your poison?&lt;br /&gt;&lt;br /&gt;Answer the poll in the top left side of this blog, and help us out – we'll know what you want and we'll be able to act accordingly.&lt;br /&gt;&lt;br /&gt;Also, as you all probably know, we have live Webinars (this week on &lt;a href="http://blog.typemock.com/2009/09/unit-test-database-applications-in-net.html"&gt;Unit testing database based applications&lt;/a&gt;), so if you would like us to do a webinar on a specific technology, please let us know in the comments below.&lt;br /&gt;&lt;br /&gt;So why are you still reading? What are you waiting for? Answer the poll! &lt;span style="color:#ff6600;"&gt;&lt;strong&gt;:-)&lt;/strong&gt;&lt;/span&gt; .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-3673081535512401461?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=TB811vOcwIo:xNOKsxUZUuc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/TB811vOcwIo" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/3673081535512401461?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/3673081535512401461?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/TB811vOcwIo/what-kind-of-net-technology-are-you.html" title="What kind of .NET technology are you unit testing?" /><author><name>Moran</name><uri>http://www.blogger.com/profile/07283979443235542393</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04966189828724736452" /></author><feedburner:origLink>http://blog.typemock.com/2009/09/what-kind-of-net-technology-are-you.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcERH4-eip7ImA9WxNSGEU.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-5061362288603495120</id><published>2009-09-02T11:50:00.000+03:00</published><updated>2009-09-02T12:00:05.052+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-02T12:00:05.052+03:00</app:edited><title>Unit test database applications in .NET – live free webinar</title><content type="html">Our free live webinars tradition continues. We are holding another &lt;a href="http://www.typemock.com/"&gt;Typemock &lt;/a&gt;live online webinar on 08/SEP/2009. In this webinar will show how to unit test &lt;a href="http://en.wikipedia.org/wiki/Database"&gt;database applications &lt;/a&gt;(also known as data centric applications) in &lt;a href="http://en.wikipedia.org/wiki/.net"&gt;.NET&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It doesn’t matter – web or enterprise applications, most of them have a database. However, the dependency on the database comes with a price. Come to this live webinar, and learn how you can overcome the hurdles on your way for &lt;strong&gt;unit testing&lt;/strong&gt; database applications. In this webinar, Gil Zilberfeld, one of Typemock’s top developers will show the best techniques and practices for unit testing &lt;strong&gt;data applications&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;This webinar will include examples of different patterns for testing applications , and will end with a live Q&amp;amp;A session.&lt;br /&gt;&lt;br /&gt;Click the link to register and secure a place for your preferred time:&lt;br /&gt;&lt;br /&gt;8am GMT – &lt;a href="https://www2.gotomeeting.com/register/679445242"&gt;https://www2.gotomeeting.com/register/679445242&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And again at 2pm EDT: &lt;a href="https://www2.gotomeeting.com/register/455384370"&gt;https://www2.gotomeeting.com/register/455384370&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This webinar will include:&lt;br /&gt;&lt;br /&gt;• The problems of testing database applications&lt;br /&gt;• Patterns of testing&lt;br /&gt;• Code examples of the different patterns&lt;br /&gt;• Q&amp;amp;A&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This webinar is am must see for everyone who develops applications.&lt;br /&gt;&lt;br /&gt;If there are any specific topics that you would like us to cover in this Webinar, feel free to suggest them in the comments below.&lt;br /&gt;&lt;br /&gt;We look forward to seeing you all there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-5061362288603495120?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=GAjhiLD8iQc:mil9PdA-zBE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/GAjhiLD8iQc" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/5061362288603495120?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/5061362288603495120?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/GAjhiLD8iQc/unit-test-database-applications-in-net.html" title="Unit test database applications in .NET – live free webinar" /><author><name>Moran</name><uri>http://www.blogger.com/profile/07283979443235542393</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04966189828724736452" /></author><feedburner:origLink>http://blog.typemock.com/2009/09/unit-test-database-applications-in-net.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4FRH0zcSp7ImA9WxNSEk0.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-7469937870667341679</id><published>2009-08-25T16:45:00.001+03:00</published><updated>2009-08-25T16:45:15.389+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-25T16:45:15.389+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Announcements" /><category scheme="http://www.blogger.com/atom/ns#" term="Support" /><title>Typemock Support – what it’s all about</title><content type="html">&lt;p&gt;We like to think of our support as the icing on the cake that is Isolator&amp;#160; - the additional value our users get when subscribing for maintenance for any one of our products. Our customers know that when they run into any problem, they’ve got more than one way to let us know, and we’ll be right on it.&lt;/p&gt;  &lt;p&gt;&lt;img style="display: inline; margin-left: 0px; margin-right: 0px" align="right" src="http://themishmash.typepad.com/photos/uncategorized/2008/04/07/help.jpg" width="240" height="231" /&gt;&lt;/p&gt;  &lt;h3&gt;The Typemock Forums&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;If you want to know how to do cool stuff with Isolator or Racer, or if you have any questions to ask, this is the place to be. The Typemock community is always happy to help out with answers and tips, so feel free to &lt;a href="http://www.typemock.com/community/index.php" target="_blank"&gt;drop by&lt;/a&gt;!&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;Support Email&lt;/h3&gt;  &lt;p&gt;Got a question to ask, or an issue to report? Contact our support team by sending an email (support AT typemock.com). We promise to answer any question and investigate every issue, and will not rest until a proper solution is found.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Don’t forget that you need to keep your license maintenance up to date to get support!&lt;/em&gt;&lt;/p&gt;  &lt;h3&gt;1-on-1 Live sessions&lt;/h3&gt;  &lt;p&gt;We use GoToMeeting to connect to our customers online. Sometimes, it’s the best way to reproduce issues, sometimes it’s to show them a new way to use our API. In any case, online sessions are always a good place to learn something new.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-7469937870667341679?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=ezvTYL39NY0:uEkxkL8axZY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/ezvTYL39NY0" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/7469937870667341679?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/7469937870667341679?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/ezvTYL39NY0/typemock-support-what-its-all-about.html" title="Typemock Support – what it’s all about" /><author><name>Dror Helper</name><uri>http://www.blogger.com/profile/04664241287712801778</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14941583444711874923" /></author><feedburner:origLink>http://blog.typemock.com/2009/08/typemock-support-what-its-all-about.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcCQ3o8cCp7ImA9WxNSEU8.&quot;"><id>tag:blogger.com,1999:blog-4863981320393275450.post-6047372039121971997</id><published>2009-08-24T17:26:00.000+03:00</published><updated>2009-08-24T18:01:02.478+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-24T18:01:02.478+03:00</app:edited><title>Why do software development companies release software with so many bugs?</title><content type="html">Why do so many &lt;a href="http://www.typemock.com/Typemock_software_development_tools.php"&gt;software development &lt;/a&gt;companies release software with so many bugs?&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;There is an old joke that goes:&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Bill_Gates"&gt;Bill Gates&lt;/a&gt; says to a manager of a large auto company: “The computer industry has progressed more in 30 years than the auto industry did in 130 years, If I was running an auto-company, cars would fly by now”. The manager answers back “ No, if you were running the auto industry the car would break down every 5 minutes and you would need to: open the door – beep the horn and pull the hand break - to restart it”. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;Why are we accepting malfunctions in &lt;a href="http://en.wikipedia.org/wiki/Software"&gt;software&lt;/a&gt;, but if our cable TV has the slightest problem we go running to the supplier (and of course demanding compensation)?&lt;br /&gt;&lt;br /&gt;I recently installed a very cool VoIP/Messenger application on my &lt;a href="http://en.wikipedia.org/wiki/Iphone"&gt;iPhone&lt;/a&gt;. I managed to speak to my neighbor (who also has an iPhone) and was standing 10 meters away from me, while directing the call through servers all over the world, and it cost absolutely nothing. I was very happy.&lt;br /&gt;&lt;br /&gt;Big mistake.&lt;br /&gt;&lt;br /&gt;The next morning in both my neighbor’s iPhone and mine, the address book was wiped clean. I had to re-enter all my contacts (over 150!) manually (I didn’t back it up). My neighbor, who I convinced to install this application, had to re-enter 320(!) contacts manually (yep he didn’t have a back up too…). Needless to say, this did not have a positive impact on our relationship &lt;strong&gt;&lt;span style="color:#000099;"&gt;:-)&lt;/span&gt;&lt;/strong&gt; . In the product manufacturer’s defense, the product was in Beta version, but still you might expect the application itself to have bugs, who could have known it would jam my phone.&lt;br /&gt;&lt;br /&gt;If something like that would happen to me in the "real world" or “non software world” I would go crazy, I would call and complain to who’d ever listen, and to a few who wouldn’t. But here I did nothing , I even partly blamed myself, “they did say it was in beta” I thought, but then again so are all of Google’s tools.&lt;br /&gt;&lt;br /&gt;I think that many software development companies are taking advantage of this and releasing very buggy products, with no regular version upgrades and bug fixes, just because they think that the public is “used to it”.&lt;br /&gt;&lt;br /&gt;What do you guys think? Will this get better in the future? or will it get even worse? (and where do you think we as a company are in this cycle?) &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4863981320393275450-6047372039121971997?l=blog.typemock.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Typemock?a=im_6HcpRCzk:zkpd9W4kvtI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Typemock?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Typemock/~4/im_6HcpRCzk" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/6047372039121971997?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4863981320393275450/posts/default/6047372039121971997?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Typemock/~3/im_6HcpRCzk/why-do-software-development-companies.html" title="Why do software development companies release software with so many bugs?" /><author><name>Moran BD</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://blog.typemock.com/2009/08/why-do-software-development-companies.html</feedburner:origLink></entry></feed>
