<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://dotnet.lv/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Ivara blogs : MSTest</title><link>http://dotnet.lv/blogs/ia/archive/tags/MSTest/default.aspx</link><description>Tagi: MSTest</description><dc:language /><generator>CommunityServer 2008 SP1 (Build: 30619.63)</generator><item><title>Kolekciju salīdzināšana vienumtestos</title><link>http://dotnet.lv/blogs/ia/archive/2009/02/11/kolekciju-sal-dzin-ana-vienumtestos.aspx</link><pubDate>Wed, 11 Feb 2009 09:21:00 GMT</pubDate><guid isPermaLink="false">245d81fd-b543-41d7-a051-d8603c6e9e31:2650</guid><dc:creator>ivars.arins</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/ia/rsscomments.aspx?PostID=2650</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/ia/commentapi.aspx?PostID=2650</wfw:comment><comments>http://dotnet.lv/blogs/ia/archive/2009/02/11/kolekciju-sal-dzin-ana-vienumtestos.aspx#comments</comments><description>&lt;p&gt;Sāku iemēģināt vienumtestu rakstī&amp;scaron;anu. Jāatzīst, ka viegli nenākas, jo visi materiāli, kurus var atrast tīmeklī, stāsta par to, cik for&amp;scaron;i ir testēt un rāda triviālus piemērus, bet trūkst materiālu par to, kā tie&amp;scaron;ām iesākt testē&amp;scaron;anu.&lt;/p&gt;
&lt;p&gt;&amp;Scaron;obrīd esmu pārvarējis sākotnējās problēmas, un uzrakstījis pirmos testus &lt;a href="http://dotnet.lv/blogs/ia/pages/draugiem-lv-api-net-iesai-ojums-wrapper.aspx"&gt;draugiem.lv iesaiņojumam&lt;/a&gt;, kā arī atklājis vairākas interesantas lietas. Ar vienu no tām tūlīt padalī&amp;scaron;os.&lt;/p&gt;
&lt;p&gt;Vienā no testiem man nākas pārbaudīt vai metode atgriež pareizu sarakstu. Sākumā pārbaudi uzrakstīju kā:&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#009b00;"&gt;Assert&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#e8e8e8;"&gt;AreEqual&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#e8e8e8;"&gt;expected&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#e8e8e8;"&gt;Count&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#e8e8e8;"&gt;actual&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#e8e8e8;"&gt;Count&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#a79a86;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#d6d694;"&gt;foreach &lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#d6d694;"&gt;var &lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#e8e8e8;"&gt;item &lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#d6d694;"&gt;in &lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#e8e8e8;"&gt;expected&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#a79a86;"&gt;)&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#009b00;"&gt;Assert&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#e8e8e8;"&gt;IsTrue&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#e8e8e8;"&gt;actual&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#e8e8e8;"&gt;ContainsKey&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#e8e8e8;"&gt;item&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#e8e8e8;"&gt;Key&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#a79a86;"&gt;));&lt;br /&gt;    &lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#009b00;"&gt;Assert&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#e8e8e8;"&gt;AreEqual&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#e8e8e8;"&gt;item&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#e8e8e8;"&gt;Value&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#e8e8e8;"&gt;actual&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#a79a86;"&gt;[&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#e8e8e8;"&gt;item&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#e8e8e8;"&gt;Key&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#a79a86;"&gt;]);&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Vēlāk atklāju, ka ir speciāla klase &lt;code&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.collectionassert(VS.80).aspx"&gt;CollectionAssert&lt;/a&gt;&lt;/code&gt;, kuru var izmantot kolekciju pārbaudei testos un mana ūberpārbaude vienkār&amp;scaron;ojas līdz vienai rindiņai:&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#009b00;"&gt;CollectionAssert&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#e8e8e8;"&gt;AreEquivalent&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#e8e8e8;"&gt;expected&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#a79a86;"&gt;, &lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#e8e8e8;"&gt;actual&lt;/span&gt;&lt;span style="background:#10100d none repeat scroll 0% 0%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;color:#a79a86;"&gt;);&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;Sīkums, bet patīkami.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnet.lv/aggbug.aspx?PostID=2650" width="1" height="1"&gt;</description><category domain="http://dotnet.lv/blogs/ia/archive/tags/MSTest/default.aspx">MSTest</category><category domain="http://dotnet.lv/blogs/ia/archive/tags/testi/default.aspx">testi</category></item></channel></rss>