<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>fluentassertions Issue Tracker Rss Feed</title><link>http://fluentassertions.codeplex.com/WorkItem/List.aspx</link><description>fluentassertions Issue Tracker Rss Description</description><item><title>Commented Unassigned: CollectionAssertions.Equal does not handle null properly [12490]</title><link>http://fluentassertions.codeplex.com/workitem/12490</link><description>I have the following situation&amp;#58;&lt;br /&gt;&lt;br /&gt;string&amp;#91;&amp;#93; expected &amp;#61; null&amp;#59;&lt;br /&gt;string&amp;#91;&amp;#93; result &amp;#61; null&amp;#59;&lt;br /&gt;&lt;br /&gt;result.Should&amp;#40;&amp;#41;.Equal&amp;#40;expected&amp;#41; &amp;#47;&amp;#47; Throws Exception&lt;br /&gt;&lt;br /&gt;&amp;#34;Expected collection to be equal, but found &amp;#60;null&amp;#62;.&amp;#34;&lt;br /&gt;&lt;br /&gt;Since the result is equal to the expected, this should not throw an exception.&lt;br /&gt;Comments: We&amp;#39;ll include your Pull Request. We never ran into this ourselves because our collections are never allowed to be _null_ &amp;#40;because of our coding guidelines&amp;#41;. </description><author>dennisdoomen</author><pubDate>Thu, 23 May 2013 18:45:30 GMT</pubDate><guid isPermaLink="false">Commented Unassigned: CollectionAssertions.Equal does not handle null properly [12490] 20130523064530P</guid></item><item><title>Commented Issue: Inconsistent ShouldBeEquivalentTo() behaviour for collections of complex types [12484]</title><link>http://fluentassertions.codeplex.com/workitem/12484</link><description>I&amp;#39;m having trouble comparing lists of objects that come back in an indeterminate order. I thought &amp;#96;ShouldBeEquivalentTo&amp;#40;&amp;#41;&amp;#96; would take care of this for me, but it doesn&amp;#39;t seem to &amp;#58;&amp;#40;&lt;br /&gt;Check out the comments in following sample class for a more thorough description.&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;using System.Collections.Generic&amp;#59;&lt;br /&gt;using FluentAssertions&amp;#59;&lt;br /&gt;using NUnit.Framework&amp;#59;&lt;br /&gt;&lt;br /&gt;namespace CrazyMo.Tests&lt;br /&gt;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#91;TestFixture&amp;#93;&lt;br /&gt;&amp;#9;public class ShouldBeEquivalentToTests&lt;br /&gt;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;public class SomeClass&lt;br /&gt;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;public int SomeInt &amp;#123; get&amp;#59; set&amp;#59; &amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#91;Test&amp;#93;&lt;br /&gt;&amp;#9;&amp;#9;public void DoSomethingAwesome_Scenario_ExpectedResult&amp;#40;&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;SomeClass some1 &amp;#61; new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;SomeClass someOther1 &amp;#61; new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;some1.ShouldBeEquivalentTo&amp;#40;someOther1&amp;#41;&amp;#59; &amp;#47;&amp;#47; This works&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;IEnumerable&amp;#60;int&amp;#62; someInts &amp;#61; new List&amp;#60;int&amp;#62; &amp;#123;1, 2&amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;IEnumerable&amp;#60;int&amp;#62; someOtherInts &amp;#61; new List&amp;#60;int&amp;#62; &amp;#123;2, 1&amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;someInts.Should&amp;#40;&amp;#41;.BeEquivalentTo&amp;#40;someOtherInts&amp;#41;&amp;#59; &amp;#47;&amp;#47; This works&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;someInts.Should&amp;#40;&amp;#41;.BeEquivalentTo&amp;#40;2, 1&amp;#41;&amp;#59; &amp;#47;&amp;#47; This works&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;IEnumerable&amp;#60;SomeClass&amp;#62; actual &amp;#61; new List&amp;#60;SomeClass&amp;#62;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 1&amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 2&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; This does work&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;actual.ShouldBeEquivalentTo&amp;#40;new List&amp;#60;SomeClass&amp;#62;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 2 &amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; The following is in reverse order, just like someOtherInts above.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; This doesn&amp;#39;t work, but should&amp;#63;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;actual.ShouldBeEquivalentTo&amp;#40;new List&amp;#60;SomeClass&amp;#62;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 2&amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 1&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; This is similar to BeEquivalentTo&amp;#40;2, 1&amp;#41; above, but doesn&amp;#39;t work.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; It&amp;#39;s even in the correct order.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;actual.Should&amp;#40;&amp;#41;.BeEquivalentTo&amp;#40;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 2 &amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;Comments: BTW, ignoring the order is already part of the Release-2.1 branch.</description><author>dennisdoomen</author><pubDate>Thu, 23 May 2013 18:43:03 GMT</pubDate><guid isPermaLink="false">Commented Issue: Inconsistent ShouldBeEquivalentTo() behaviour for collections of complex types [12484] 20130523064303P</guid></item><item><title>Commented Issue: Inconsistent ShouldBeEquivalentTo() behaviour for collections of complex types [12484]</title><link>http://fluentassertions.codeplex.com/workitem/12484</link><description>I&amp;#39;m having trouble comparing lists of objects that come back in an indeterminate order. I thought &amp;#96;ShouldBeEquivalentTo&amp;#40;&amp;#41;&amp;#96; would take care of this for me, but it doesn&amp;#39;t seem to &amp;#58;&amp;#40;&lt;br /&gt;Check out the comments in following sample class for a more thorough description.&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;using System.Collections.Generic&amp;#59;&lt;br /&gt;using FluentAssertions&amp;#59;&lt;br /&gt;using NUnit.Framework&amp;#59;&lt;br /&gt;&lt;br /&gt;namespace CrazyMo.Tests&lt;br /&gt;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#91;TestFixture&amp;#93;&lt;br /&gt;&amp;#9;public class ShouldBeEquivalentToTests&lt;br /&gt;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;public class SomeClass&lt;br /&gt;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;public int SomeInt &amp;#123; get&amp;#59; set&amp;#59; &amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#91;Test&amp;#93;&lt;br /&gt;&amp;#9;&amp;#9;public void DoSomethingAwesome_Scenario_ExpectedResult&amp;#40;&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;SomeClass some1 &amp;#61; new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;SomeClass someOther1 &amp;#61; new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;some1.ShouldBeEquivalentTo&amp;#40;someOther1&amp;#41;&amp;#59; &amp;#47;&amp;#47; This works&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;IEnumerable&amp;#60;int&amp;#62; someInts &amp;#61; new List&amp;#60;int&amp;#62; &amp;#123;1, 2&amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;IEnumerable&amp;#60;int&amp;#62; someOtherInts &amp;#61; new List&amp;#60;int&amp;#62; &amp;#123;2, 1&amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;someInts.Should&amp;#40;&amp;#41;.BeEquivalentTo&amp;#40;someOtherInts&amp;#41;&amp;#59; &amp;#47;&amp;#47; This works&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;someInts.Should&amp;#40;&amp;#41;.BeEquivalentTo&amp;#40;2, 1&amp;#41;&amp;#59; &amp;#47;&amp;#47; This works&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;IEnumerable&amp;#60;SomeClass&amp;#62; actual &amp;#61; new List&amp;#60;SomeClass&amp;#62;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 1&amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 2&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; This does work&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;actual.ShouldBeEquivalentTo&amp;#40;new List&amp;#60;SomeClass&amp;#62;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 2 &amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; The following is in reverse order, just like someOtherInts above.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; This doesn&amp;#39;t work, but should&amp;#63;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;actual.ShouldBeEquivalentTo&amp;#40;new List&amp;#60;SomeClass&amp;#62;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 2&amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 1&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; This is similar to BeEquivalentTo&amp;#40;2, 1&amp;#41; above, but doesn&amp;#39;t work.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; It&amp;#39;s even in the correct order.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;actual.Should&amp;#40;&amp;#41;.BeEquivalentTo&amp;#40;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 2 &amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;Comments: Using IComparable, IComparable&amp;#60;T&amp;#62; and IEquatable&amp;#60;T&amp;#62; is not safe. You would be relying on the implementation for determining the equality of two classes. In most cases, only one or two properties are used to determine if two objects are functionally equivalent.&amp;#10;&amp;#10;The Equal&amp;#40;&amp;#41; overload that takes a predicate already exists in 2.0.</description><author>dennisdoomen</author><pubDate>Thu, 23 May 2013 18:42:18 GMT</pubDate><guid isPermaLink="false">Commented Issue: Inconsistent ShouldBeEquivalentTo() behaviour for collections of complex types [12484] 20130523064218P</guid></item><item><title>Commented Issue: Inconsistent ShouldBeEquivalentTo() behaviour for collections of complex types [12484]</title><link>http://fluentassertions.codeplex.com/workitem/12484</link><description>I&amp;#39;m having trouble comparing lists of objects that come back in an indeterminate order. I thought &amp;#96;ShouldBeEquivalentTo&amp;#40;&amp;#41;&amp;#96; would take care of this for me, but it doesn&amp;#39;t seem to &amp;#58;&amp;#40;&lt;br /&gt;Check out the comments in following sample class for a more thorough description.&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;using System.Collections.Generic&amp;#59;&lt;br /&gt;using FluentAssertions&amp;#59;&lt;br /&gt;using NUnit.Framework&amp;#59;&lt;br /&gt;&lt;br /&gt;namespace CrazyMo.Tests&lt;br /&gt;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#91;TestFixture&amp;#93;&lt;br /&gt;&amp;#9;public class ShouldBeEquivalentToTests&lt;br /&gt;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;public class SomeClass&lt;br /&gt;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;public int SomeInt &amp;#123; get&amp;#59; set&amp;#59; &amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#91;Test&amp;#93;&lt;br /&gt;&amp;#9;&amp;#9;public void DoSomethingAwesome_Scenario_ExpectedResult&amp;#40;&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;SomeClass some1 &amp;#61; new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;SomeClass someOther1 &amp;#61; new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;some1.ShouldBeEquivalentTo&amp;#40;someOther1&amp;#41;&amp;#59; &amp;#47;&amp;#47; This works&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;IEnumerable&amp;#60;int&amp;#62; someInts &amp;#61; new List&amp;#60;int&amp;#62; &amp;#123;1, 2&amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;IEnumerable&amp;#60;int&amp;#62; someOtherInts &amp;#61; new List&amp;#60;int&amp;#62; &amp;#123;2, 1&amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;someInts.Should&amp;#40;&amp;#41;.BeEquivalentTo&amp;#40;someOtherInts&amp;#41;&amp;#59; &amp;#47;&amp;#47; This works&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;someInts.Should&amp;#40;&amp;#41;.BeEquivalentTo&amp;#40;2, 1&amp;#41;&amp;#59; &amp;#47;&amp;#47; This works&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;IEnumerable&amp;#60;SomeClass&amp;#62; actual &amp;#61; new List&amp;#60;SomeClass&amp;#62;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 1&amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 2&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; This does work&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;actual.ShouldBeEquivalentTo&amp;#40;new List&amp;#60;SomeClass&amp;#62;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 2 &amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; The following is in reverse order, just like someOtherInts above.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; This doesn&amp;#39;t work, but should&amp;#63;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;actual.ShouldBeEquivalentTo&amp;#40;new List&amp;#60;SomeClass&amp;#62;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 2&amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 1&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; This is similar to BeEquivalentTo&amp;#40;2, 1&amp;#41; above, but doesn&amp;#39;t work.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; It&amp;#39;s even in the correct order.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;actual.Should&amp;#40;&amp;#41;.BeEquivalentTo&amp;#40;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 2 &amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;Comments: Additionally, you could allow the &amp;#34;Equal&amp;#34; method on a collection to have a 2nd parameter for a compare expression&amp;#47;function.&amp;#10;&amp;#10;That would be useful as well.</description><author>tommck</author><pubDate>Thu, 23 May 2013 18:11:22 GMT</pubDate><guid isPermaLink="false">Commented Issue: Inconsistent ShouldBeEquivalentTo() behaviour for collections of complex types [12484] 20130523061122P</guid></item><item><title>Commented Issue: Inconsistent ShouldBeEquivalentTo() behaviour for collections of complex types [12484]</title><link>http://fluentassertions.codeplex.com/workitem/12484</link><description>I&amp;#39;m having trouble comparing lists of objects that come back in an indeterminate order. I thought &amp;#96;ShouldBeEquivalentTo&amp;#40;&amp;#41;&amp;#96; would take care of this for me, but it doesn&amp;#39;t seem to &amp;#58;&amp;#40;&lt;br /&gt;Check out the comments in following sample class for a more thorough description.&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;using System.Collections.Generic&amp;#59;&lt;br /&gt;using FluentAssertions&amp;#59;&lt;br /&gt;using NUnit.Framework&amp;#59;&lt;br /&gt;&lt;br /&gt;namespace CrazyMo.Tests&lt;br /&gt;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#91;TestFixture&amp;#93;&lt;br /&gt;&amp;#9;public class ShouldBeEquivalentToTests&lt;br /&gt;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;public class SomeClass&lt;br /&gt;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;public int SomeInt &amp;#123; get&amp;#59; set&amp;#59; &amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#91;Test&amp;#93;&lt;br /&gt;&amp;#9;&amp;#9;public void DoSomethingAwesome_Scenario_ExpectedResult&amp;#40;&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;SomeClass some1 &amp;#61; new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;SomeClass someOther1 &amp;#61; new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;some1.ShouldBeEquivalentTo&amp;#40;someOther1&amp;#41;&amp;#59; &amp;#47;&amp;#47; This works&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;IEnumerable&amp;#60;int&amp;#62; someInts &amp;#61; new List&amp;#60;int&amp;#62; &amp;#123;1, 2&amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;IEnumerable&amp;#60;int&amp;#62; someOtherInts &amp;#61; new List&amp;#60;int&amp;#62; &amp;#123;2, 1&amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;someInts.Should&amp;#40;&amp;#41;.BeEquivalentTo&amp;#40;someOtherInts&amp;#41;&amp;#59; &amp;#47;&amp;#47; This works&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;someInts.Should&amp;#40;&amp;#41;.BeEquivalentTo&amp;#40;2, 1&amp;#41;&amp;#59; &amp;#47;&amp;#47; This works&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;IEnumerable&amp;#60;SomeClass&amp;#62; actual &amp;#61; new List&amp;#60;SomeClass&amp;#62;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 1&amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 2&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; This does work&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;actual.ShouldBeEquivalentTo&amp;#40;new List&amp;#60;SomeClass&amp;#62;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 2 &amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; The following is in reverse order, just like someOtherInts above.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; This doesn&amp;#39;t work, but should&amp;#63;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;actual.ShouldBeEquivalentTo&amp;#40;new List&amp;#60;SomeClass&amp;#62;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 2&amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 1&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; This is similar to BeEquivalentTo&amp;#40;2, 1&amp;#41; above, but doesn&amp;#39;t work.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; It&amp;#39;s even in the correct order.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;actual.Should&amp;#40;&amp;#41;.BeEquivalentTo&amp;#40;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 2 &amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;Comments: You could also look for the standard &amp;#34;IComparable&amp;#34; or &amp;#34;IComparable&amp;#60;T&amp;#62;&amp;#34; interface implementations and, if so, you could then use those to determine sorting order.&amp;#10;&amp;#10;Also, you can use the above or IEquatable&amp;#60;T&amp;#62; to determine things that are equal.</description><author>tommck</author><pubDate>Thu, 23 May 2013 18:07:52 GMT</pubDate><guid isPermaLink="false">Commented Issue: Inconsistent ShouldBeEquivalentTo() behaviour for collections of complex types [12484] 20130523060752P</guid></item><item><title>Created Unassigned: CollectionAssertions.Equal does not handle null properly [12490]</title><link>http://fluentassertions.codeplex.com/workitem/12490</link><description>I have the following situation&amp;#58;&lt;br /&gt;&lt;br /&gt;string&amp;#91;&amp;#93; expected &amp;#61; null&amp;#59;&lt;br /&gt;string&amp;#91;&amp;#93; result &amp;#61; null&amp;#59;&lt;br /&gt;&lt;br /&gt;result.Should&amp;#40;&amp;#41;.Equal&amp;#40;expected&amp;#41; &amp;#47;&amp;#47; Throws Exception&lt;br /&gt;&lt;br /&gt;&amp;#34;Expected collection to be equal, but found &amp;#60;null&amp;#62;.&amp;#34;&lt;br /&gt;&lt;br /&gt;Since the result is equal to the expected, this should not throw an exception.&lt;br /&gt;</description><author>tommck</author><pubDate>Thu, 23 May 2013 13:56:15 GMT</pubDate><guid isPermaLink="false">Created Unassigned: CollectionAssertions.Equal does not handle null properly [12490] 20130523015615P</guid></item><item><title>Commented Unassigned: XElement.Should().Match() [12489]</title><link>http://fluentassertions.codeplex.com/workitem/12489</link><description>Because there are a lot more things to test than just both attributes and elements.&lt;br /&gt;Currently I use something like this&amp;#58; &lt;br /&gt;&amp;#96;&amp;#96;&amp;#96; C&amp;#35;&lt;br /&gt;XElement.As&amp;#60;XNode&amp;#62;&amp;#40;&amp;#41;.Should&amp;#40;&amp;#41;.Match&amp;#60;XElement&amp;#62;&amp;#40;x &amp;#61;&amp;#62; x.Name &amp;#61;&amp;#61; &amp;#34;foo&amp;#34;&amp;#41;&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;Comments: Sounds like a good idea.</description><author>dennisdoomen</author><pubDate>Thu, 09 May 2013 05:04:19 GMT</pubDate><guid isPermaLink="false">Commented Unassigned: XElement.Should().Match() [12489] 20130509050419A</guid></item><item><title>Created Unassigned: XElement.Should().Match() [12489]</title><link>http://fluentassertions.codeplex.com/workitem/12489</link><description>Because there are a lot more things to test than just both attributes and elements.&lt;br /&gt;Currently I use something like this&amp;#58; &lt;br /&gt;&amp;#96;&amp;#96;&amp;#96; C&amp;#35;&lt;br /&gt;XElement.As&amp;#60;XNode&amp;#62;&amp;#40;&amp;#41;.Should&amp;#40;&amp;#41;.Match&amp;#60;XElement&amp;#62;&amp;#40;x &amp;#61;&amp;#62; x.Name &amp;#61;&amp;#61; &amp;#34;foo&amp;#34;&amp;#41;&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;</description><author>felixdd</author><pubDate>Wed, 08 May 2013 21:33:46 GMT</pubDate><guid isPermaLink="false">Created Unassigned: XElement.Should().Match() [12489] 20130508093346P</guid></item><item><title>Created Unassigned: string.Should().NotBeNullOrWhitespace(); [12488]</title><link>http://fluentassertions.codeplex.com/workitem/12488</link><description>Can a method for NullOrWhitespace be added to String assertions please&amp;#63;  A NullOrEmpty already exists, but not one for whitespace.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;</description><author>denzilla</author><pubDate>Tue, 07 May 2013 08:07:09 GMT</pubDate><guid isPermaLink="false">Created Unassigned: string.Should().NotBeNullOrWhitespace(); [12488] 20130507080709A</guid></item><item><title>Commented Issue: Windows phone throwing non descript exceptions [12470]</title><link>http://fluentassertions.codeplex.com/workitem/12470</link><description>Given the following code.&lt;br /&gt;&lt;br /&gt;&amp;#91;TestMethod&amp;#93;&lt;br /&gt;public void InitialiseSession&amp;#40;&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;            false.Should&amp;#40;&amp;#41;.BeTrue&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;&lt;br /&gt;Results in &amp;#58;&lt;br /&gt;New exception&amp;#58; &amp;#34;Could not find windows phone test framework.&amp;#34;. &lt;br /&gt;&lt;br /&gt;I&amp;#39;m using the latest test framework from toolkit &amp;#40;https&amp;#58;&amp;#47;&amp;#47;nuget.org&amp;#47;packages&amp;#47;WPToolkitTestFx&amp;#41;&lt;br /&gt;&lt;br /&gt;Expected results&amp;#58; &amp;#34;True excepted ... &amp;#34;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Comments: Late reply but I was referring to the new MSTest-based unit test framework brought in with the VS2012 Update 2.</description><author>waten</author><pubDate>Tue, 16 Apr 2013 10:23:19 GMT</pubDate><guid isPermaLink="false">Commented Issue: Windows phone throwing non descript exceptions [12470] 20130416102319A</guid></item><item><title>Created Unassigned: NullReferenceException caused by AttributeBasedFormatter on Mono 3.0.6 [12487]</title><link>http://fluentassertions.codeplex.com/workitem/12487</link><description>&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;&amp;#40;true&amp;#41;.Should&amp;#40;&amp;#41;.BeFalse&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;&lt;br /&gt;results in&lt;br /&gt;&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;System.NullReferenceException &amp;#58; Object reference not set to an instance of an object&lt;br /&gt;&lt;br /&gt;  at FluentAssertions.Formatting.AttributeBasedFormatter.&amp;#60;FindCustomFormatters&amp;#62;b__4 &amp;#40;System.Type type&amp;#41; &amp;#91;0x00000&amp;#93; in &amp;#60;filename unknown&amp;#62;&amp;#58;0 &lt;br /&gt;  at System.Linq.Enumerable&amp;#43;&amp;#60;CreateSelectManyIterator&amp;#62;c__Iterator29&amp;#96;3&amp;#91;System.Type,System.Reflection.MethodInfo,&amp;#60;&amp;#62;f__AnonymousType0&amp;#96;2&amp;#91;System.Type,System.Reflection.MethodInfo&amp;#93;&amp;#93;.MoveNext &amp;#40;&amp;#41; &amp;#91;0x00059&amp;#93; in &amp;#47;private&amp;#47;tmp&amp;#47;source&amp;#47;bockbuild&amp;#47;profiles&amp;#47;mono-mac-release&amp;#47;build-root&amp;#47;mono-3.0.6&amp;#47;_build&amp;#47;mono-3.0.6.git&amp;#47;mcs&amp;#47;class&amp;#47;System.Core&amp;#47;System.Linq&amp;#47;Enumerable.cs&amp;#58;2335 &lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;&lt;br /&gt;Obviously, AttributeBasedFormatter.GetExportedTypes&amp;#40;Assembly&amp;#41; sometimes returns an array that contains null references in Mono, because a ReflectionTypeLoadException is thrown whose Types property contains some null values.&lt;br /&gt;&lt;br /&gt;We can easily fix that in AttributeBaseFormatter.FindCustomFormatters&amp;#40;&amp;#41;&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;&amp;#9;IEnumerable&amp;#60;MethodInfo&amp;#62; source &amp;#61; &lt;br /&gt;&amp;#9;&amp;#9;from type in AttributeBasedFormatter.AllTypes&lt;br /&gt;                where type &amp;#33;&amp;#61; null                         &amp;#47;&amp;#47; FIX&lt;br /&gt;&amp;#9;&amp;#9;from method in type.GetMethods&amp;#40;24&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;where method.get_IsStatic&amp;#40;&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;where method.HasAttribute&amp;#60;ValueFormatterAttribute&amp;#62;&amp;#40;&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;where method.GetParameters&amp;#40;&amp;#41;.Count&amp;#60;ParameterInfo&amp;#62;&amp;#40;&amp;#41; &amp;#61;&amp;#61; 1&lt;br /&gt;&amp;#9;&amp;#9;select method&amp;#59;&lt;br /&gt;&amp;#9;return source.ToArray&amp;#60;MethodInfo&amp;#62;&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description><author>StreamWriter</author><pubDate>Fri, 05 Apr 2013 20:00:14 GMT</pubDate><guid isPermaLink="false">Created Unassigned: NullReferenceException caused by AttributeBasedFormatter on Mono 3.0.6 [12487] 20130405080014P</guid></item><item><title>Created Issue: Misleading AllDeclaredPublicPropertiesSelectionRule class [12486]</title><link>http://fluentassertions.codeplex.com/workitem/12486</link><description>I would expect this class to provide a list of public properties only. However under the hood, in the SelectProperties method, it is calling GetNonPrivateProperties which can return protected, internal &amp;#38; public properties.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description><author>toyners</author><pubDate>Thu, 04 Apr 2013 09:33:48 GMT</pubDate><guid isPermaLink="false">Created Issue: Misleading AllDeclaredPublicPropertiesSelectionRule class [12486] 20130404093348A</guid></item><item><title>Edited Issue: WP8: Extend ShouldThrow() to Func&lt;Task&gt; [12485]</title><link>http://fluentassertions.codeplex.com/workitem/12485</link><description>As fixed for the issue below in WinRT&amp;#58; &lt;br /&gt;&lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;fluentassertions.codeplex.com&amp;#47;workitem&amp;#47;12148&lt;br /&gt;&lt;br /&gt;It would be really useful to be fixed as well for Windows Phone 8. Most of the functionality is also async, so testing must be adpated accordingly.&lt;br /&gt;&lt;br /&gt;Thank you very much&amp;#33;&lt;br /&gt;</description><author>dennisdoomen</author><pubDate>Wed, 03 Apr 2013 18:38:11 GMT</pubDate><guid isPermaLink="false">Edited Issue: WP8: Extend ShouldThrow() to Func&lt;Task&gt; [12485] 20130403063811P</guid></item><item><title>Created Issue: WP8: Extend ShouldThrow() to Func&lt;Task&gt; [12485]</title><link>http://fluentassertions.codeplex.com/workitem/12485</link><description>As fixed for the issue below in WinRT&amp;#58; &lt;br /&gt;&lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;fluentassertions.codeplex.com&amp;#47;workitem&amp;#47;12148&lt;br /&gt;&lt;br /&gt;It would be really useful to be fixed as well for Windows Phone 8. Most of the functionality is also async, so testing must be adpated accordingly.&lt;br /&gt;&lt;br /&gt;Thank you very much&amp;#33;&lt;br /&gt;</description><author>masantiago</author><pubDate>Wed, 03 Apr 2013 08:59:11 GMT</pubDate><guid isPermaLink="false">Created Issue: WP8: Extend ShouldThrow() to Func&lt;Task&gt; [12485] 20130403085911A</guid></item><item><title>Edited Issue: DateTimeOffset support [12464]</title><link>http://fluentassertions.codeplex.com/workitem/12464</link><description>It would be great if FA supported DateTimeOffset in the same way it supported DateTime.&lt;br /&gt;</description><author>mopdam</author><pubDate>Tue, 02 Apr 2013 18:02:46 GMT</pubDate><guid isPermaLink="false">Edited Issue: DateTimeOffset support [12464] 20130402060246P</guid></item><item><title>Commented Issue: Inconsistent ShouldBeEquivalentTo() behaviour for collections of complex types [12484]</title><link>http://fluentassertions.codeplex.com/workitem/12484</link><description>I&amp;#39;m having trouble comparing lists of objects that come back in an indeterminate order. I thought &amp;#96;ShouldBeEquivalentTo&amp;#40;&amp;#41;&amp;#96; would take care of this for me, but it doesn&amp;#39;t seem to &amp;#58;&amp;#40;&lt;br /&gt;Check out the comments in following sample class for a more thorough description.&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;using System.Collections.Generic&amp;#59;&lt;br /&gt;using FluentAssertions&amp;#59;&lt;br /&gt;using NUnit.Framework&amp;#59;&lt;br /&gt;&lt;br /&gt;namespace CrazyMo.Tests&lt;br /&gt;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#91;TestFixture&amp;#93;&lt;br /&gt;&amp;#9;public class ShouldBeEquivalentToTests&lt;br /&gt;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;public class SomeClass&lt;br /&gt;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;public int SomeInt &amp;#123; get&amp;#59; set&amp;#59; &amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#91;Test&amp;#93;&lt;br /&gt;&amp;#9;&amp;#9;public void DoSomethingAwesome_Scenario_ExpectedResult&amp;#40;&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;SomeClass some1 &amp;#61; new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;SomeClass someOther1 &amp;#61; new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;some1.ShouldBeEquivalentTo&amp;#40;someOther1&amp;#41;&amp;#59; &amp;#47;&amp;#47; This works&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;IEnumerable&amp;#60;int&amp;#62; someInts &amp;#61; new List&amp;#60;int&amp;#62; &amp;#123;1, 2&amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;IEnumerable&amp;#60;int&amp;#62; someOtherInts &amp;#61; new List&amp;#60;int&amp;#62; &amp;#123;2, 1&amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;someInts.Should&amp;#40;&amp;#41;.BeEquivalentTo&amp;#40;someOtherInts&amp;#41;&amp;#59; &amp;#47;&amp;#47; This works&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;someInts.Should&amp;#40;&amp;#41;.BeEquivalentTo&amp;#40;2, 1&amp;#41;&amp;#59; &amp;#47;&amp;#47; This works&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;IEnumerable&amp;#60;SomeClass&amp;#62; actual &amp;#61; new List&amp;#60;SomeClass&amp;#62;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 1&amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 2&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; This does work&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;actual.ShouldBeEquivalentTo&amp;#40;new List&amp;#60;SomeClass&amp;#62;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 2 &amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; The following is in reverse order, just like someOtherInts above.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; This doesn&amp;#39;t work, but should&amp;#63;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;actual.ShouldBeEquivalentTo&amp;#40;new List&amp;#60;SomeClass&amp;#62;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 2&amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 1&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; This is similar to BeEquivalentTo&amp;#40;2, 1&amp;#41; above, but doesn&amp;#39;t work.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; It&amp;#39;s even in the correct order.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;actual.Should&amp;#40;&amp;#41;.BeEquivalentTo&amp;#40;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 2 &amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;Comments: I&amp;#39;m going to ignore the order of items in collections by default starting with 2.1.0. </description><author>dennisdoomen</author><pubDate>Mon, 01 Apr 2013 17:46:26 GMT</pubDate><guid isPermaLink="false">Commented Issue: Inconsistent ShouldBeEquivalentTo() behaviour for collections of complex types [12484] 20130401054626P</guid></item><item><title>Edited Issue: Inconsistent ShouldBeEquivalentTo() behaviour for collections of complex types [12484]</title><link>http://fluentassertions.codeplex.com/workitem/12484</link><description>I&amp;#39;m having trouble comparing lists of objects that come back in an indeterminate order. I thought &amp;#96;ShouldBeEquivalentTo&amp;#40;&amp;#41;&amp;#96; would take care of this for me, but it doesn&amp;#39;t seem to &amp;#58;&amp;#40;&lt;br /&gt;Check out the comments in following sample class for a more thorough description.&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;using System.Collections.Generic&amp;#59;&lt;br /&gt;using FluentAssertions&amp;#59;&lt;br /&gt;using NUnit.Framework&amp;#59;&lt;br /&gt;&lt;br /&gt;namespace CrazyMo.Tests&lt;br /&gt;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#91;TestFixture&amp;#93;&lt;br /&gt;&amp;#9;public class ShouldBeEquivalentToTests&lt;br /&gt;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;public class SomeClass&lt;br /&gt;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;public int SomeInt &amp;#123; get&amp;#59; set&amp;#59; &amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#91;Test&amp;#93;&lt;br /&gt;&amp;#9;&amp;#9;public void DoSomethingAwesome_Scenario_ExpectedResult&amp;#40;&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;SomeClass some1 &amp;#61; new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;SomeClass someOther1 &amp;#61; new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;some1.ShouldBeEquivalentTo&amp;#40;someOther1&amp;#41;&amp;#59; &amp;#47;&amp;#47; This works&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;IEnumerable&amp;#60;int&amp;#62; someInts &amp;#61; new List&amp;#60;int&amp;#62; &amp;#123;1, 2&amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;IEnumerable&amp;#60;int&amp;#62; someOtherInts &amp;#61; new List&amp;#60;int&amp;#62; &amp;#123;2, 1&amp;#125;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;someInts.Should&amp;#40;&amp;#41;.BeEquivalentTo&amp;#40;someOtherInts&amp;#41;&amp;#59; &amp;#47;&amp;#47; This works&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;someInts.Should&amp;#40;&amp;#41;.BeEquivalentTo&amp;#40;2, 1&amp;#41;&amp;#59; &amp;#47;&amp;#47; This works&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;IEnumerable&amp;#60;SomeClass&amp;#62; actual &amp;#61; new List&amp;#60;SomeClass&amp;#62;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 1&amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 2&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; This does work&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;actual.ShouldBeEquivalentTo&amp;#40;new List&amp;#60;SomeClass&amp;#62;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 2 &amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; The following is in reverse order, just like someOtherInts above.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; This doesn&amp;#39;t work, but should&amp;#63;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;actual.ShouldBeEquivalentTo&amp;#40;new List&amp;#60;SomeClass&amp;#62;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 2&amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass&amp;#123;SomeInt &amp;#61; 1&amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; This is similar to BeEquivalentTo&amp;#40;2, 1&amp;#41; above, but doesn&amp;#39;t work.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; It&amp;#39;s even in the correct order.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;actual.Should&amp;#40;&amp;#41;.BeEquivalentTo&amp;#40;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 1 &amp;#125;,&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;new SomeClass &amp;#123; SomeInt &amp;#61; 2 &amp;#125;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;</description><author>dennisdoomen</author><pubDate>Mon, 01 Apr 2013 17:46:26 GMT</pubDate><guid isPermaLink="false">Edited Issue: Inconsistent ShouldBeEquivalentTo() behaviour for collections of complex types [12484] 20130401054626P</guid></item><item><title>Edited Feature: String comparison with 'ignore whitespace' [12423]</title><link>http://fluentassertions.codeplex.com/workitem/12423</link><description>The &amp;#34;Should&amp;#40;&amp;#41;.BeEquivalentTo&amp;#40;&amp;#41;&amp;#34; ignores casing, but it would be great to have an option for ignoring whitespace and tab&amp;#47;carriage return&amp;#47;newline characters as well&lt;br /&gt;</description><author>dennisdoomen</author><pubDate>Mon, 01 Apr 2013 17:44:47 GMT</pubDate><guid isPermaLink="false">Edited Feature: String comparison with 'ignore whitespace' [12423] 20130401054447P</guid></item><item><title>Closed Issue: FluentAssertions 2.0: objects, which are inherited from collections, are always compared as collections even that a comparison only by specified properties was requested. [12471]</title><link>http://fluentassertions.codeplex.com/workitem/12471</link><description>In our project we have classes inherited from collections. These classes have own properties and we should compare their instances only by specified properties and ignore data in collections. But the Fluent Assertion&amp;#39;s object comparer always compares objects as collections first.&lt;br /&gt;&lt;br /&gt;Is this a bug&amp;#63; If not then how to compare similar objects only by specified properties&amp;#63;&lt;br /&gt;&lt;br /&gt;Code to test the specified problem.&lt;br /&gt;&lt;br /&gt;using System&amp;#59;&lt;br /&gt;using System.Collections.Generic&amp;#59;&lt;br /&gt;using FluentAssertions&amp;#59;&lt;br /&gt;using NUnit.Framework&amp;#59;&lt;br /&gt;&lt;br /&gt;namespace FluentAssertionsTests&lt;br /&gt;&amp;#123;&lt;br /&gt;    &amp;#91;TestFixture&amp;#93;&lt;br /&gt;    public class Tests&lt;br /&gt;    &amp;#123;&lt;br /&gt;        public class TestCollection &amp;#58; List&amp;#60;int&amp;#62;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            public TestCollection&amp;#40;&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                Uid &amp;#61; Guid.NewGuid&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;&lt;br /&gt;            public int CollectionId &amp;#123; get&amp;#59; set&amp;#59; &amp;#125;&lt;br /&gt;&lt;br /&gt;            public Guid Uid &amp;#123; get&amp;#59; set&amp;#59; &amp;#125;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;        &amp;#91;Test&amp;#93;&lt;br /&gt;        public void DifferentCollectionsObjectGraphComparisonTest&amp;#40;&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            var actual &amp;#61; new TestCollection &amp;#123;CollectionId &amp;#61; 1&amp;#125;&amp;#59;&lt;br /&gt;            actual.Add&amp;#40;1&amp;#41;&amp;#59;&lt;br /&gt;            var expected &amp;#61; new TestCollection &amp;#123;CollectionId &amp;#61; 1&amp;#125;&amp;#59;&lt;br /&gt;            expected.Add&amp;#40;2&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#47;&amp;#47; this test failed with &amp;#34;Expected item&amp;#91;0&amp;#93; to be 2, but found 1.&amp;#34;&lt;br /&gt;            actual.ShouldBeEquivalentTo&amp;#40;expected, options &amp;#61;&amp;#62; options.Including&amp;#40;p &amp;#61;&amp;#62; p.CollectionId&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;        &amp;#91;Test&amp;#93;&lt;br /&gt;        public void ObjectGraphComparisonTest&amp;#40;&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            var actual &amp;#61; new TestCollection &amp;#123;CollectionId &amp;#61; 1&amp;#125;&amp;#59;&lt;br /&gt;            var expected &amp;#61; new TestCollection &amp;#123;CollectionId &amp;#61; 1&amp;#125;&amp;#59;&lt;br /&gt;            &amp;#47;&amp;#47; this test success&lt;br /&gt;            actual.ShouldBeEquivalentTo&amp;#40;expected, options &amp;#61;&amp;#62; options.Including&amp;#40;p &amp;#61;&amp;#62; p.CollectionId&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;            actual.Uid.Should&amp;#40;&amp;#41;.NotBe&amp;#40;expected.Uid&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#47;&amp;#47; this test success but should be failed because objects has a different Uid&lt;br /&gt;            actual.ShouldBeEquivalentTo&amp;#40;expected, options &amp;#61;&amp;#62; options.Including&amp;#40;p &amp;#61;&amp;#62; p.Uid&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#47;&amp;#47; this test success but should be failed because objects has a different Uid&lt;br /&gt;            actual.ShouldBeEquivalentTo&amp;#40;expected&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;        &amp;#91;Test&amp;#93;&lt;br /&gt;        public void DifferentCollectionsPropertyComparisonTest&amp;#40;&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            var actual &amp;#61; new TestCollection &amp;#123;CollectionId &amp;#61; 1&amp;#125;&amp;#59;&lt;br /&gt;            actual.Add&amp;#40;1&amp;#41;&amp;#59;&lt;br /&gt;            var expected &amp;#61; new TestCollection &amp;#123;CollectionId &amp;#61; 1&amp;#125;&amp;#59;&lt;br /&gt;            expected.Add&amp;#40;2&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#47;&amp;#47; this test failed with &amp;#34;Expected item&amp;#91;0&amp;#93; to be 2, but found 1.&amp;#34;&lt;br /&gt;            actual.ShouldHave&amp;#40;&amp;#41;.Properties&amp;#40;p &amp;#61;&amp;#62; p.CollectionId&amp;#41;.EqualTo&amp;#40;expected&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;        &amp;#91;Test&amp;#93;&lt;br /&gt;        public void ObjectPropertyComparisonTest&amp;#40;&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            var actual &amp;#61; new TestCollection &amp;#123;CollectionId &amp;#61; 1&amp;#125;&amp;#59;&lt;br /&gt;            var expected &amp;#61; new TestCollection &amp;#123;CollectionId &amp;#61; 1&amp;#125;&amp;#59;&lt;br /&gt;            &amp;#47;&amp;#47; this test success&lt;br /&gt;            actual.ShouldHave&amp;#40;&amp;#41;.Properties&amp;#40;p &amp;#61;&amp;#62; p.CollectionId&amp;#41;.EqualTo&amp;#40;expected&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;            actual.Uid.Should&amp;#40;&amp;#41;.NotBe&amp;#40;expected.Uid&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#47;&amp;#47; this test success but should be failed because objects has a different Uid&lt;br /&gt;            actual.ShouldHave&amp;#40;&amp;#41;.Properties&amp;#40;p &amp;#61;&amp;#62; p.Uid&amp;#41;.EqualTo&amp;#40;expected&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#47;&amp;#47; this test success but should be failed because objects has a different Uid&lt;br /&gt;            actual.ShouldHave&amp;#40;&amp;#41;.AllProperties&amp;#40;&amp;#41;.EqualTo&amp;#40;expected&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;Comments: Behavior is by design.</description><author>dennisdoomen</author><pubDate>Mon, 01 Apr 2013 17:42:15 GMT</pubDate><guid isPermaLink="false">Closed Issue: FluentAssertions 2.0: objects, which are inherited from collections, are always compared as collections even that a comparison only by specified properties was requested. [12471] 20130401054215P</guid></item><item><title>Commented Issue: FluentAssertions 2.0: objects, which are inherited from collections, are always compared as collections even that a comparison only by specified properties was requested. [12471]</title><link>http://fluentassertions.codeplex.com/workitem/12471</link><description>In our project we have classes inherited from collections. These classes have own properties and we should compare their instances only by specified properties and ignore data in collections. But the Fluent Assertion&amp;#39;s object comparer always compares objects as collections first.&lt;br /&gt;&lt;br /&gt;Is this a bug&amp;#63; If not then how to compare similar objects only by specified properties&amp;#63;&lt;br /&gt;&lt;br /&gt;Code to test the specified problem.&lt;br /&gt;&lt;br /&gt;using System&amp;#59;&lt;br /&gt;using System.Collections.Generic&amp;#59;&lt;br /&gt;using FluentAssertions&amp;#59;&lt;br /&gt;using NUnit.Framework&amp;#59;&lt;br /&gt;&lt;br /&gt;namespace FluentAssertionsTests&lt;br /&gt;&amp;#123;&lt;br /&gt;    &amp;#91;TestFixture&amp;#93;&lt;br /&gt;    public class Tests&lt;br /&gt;    &amp;#123;&lt;br /&gt;        public class TestCollection &amp;#58; List&amp;#60;int&amp;#62;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            public TestCollection&amp;#40;&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                Uid &amp;#61; Guid.NewGuid&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;&lt;br /&gt;            public int CollectionId &amp;#123; get&amp;#59; set&amp;#59; &amp;#125;&lt;br /&gt;&lt;br /&gt;            public Guid Uid &amp;#123; get&amp;#59; set&amp;#59; &amp;#125;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;        &amp;#91;Test&amp;#93;&lt;br /&gt;        public void DifferentCollectionsObjectGraphComparisonTest&amp;#40;&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            var actual &amp;#61; new TestCollection &amp;#123;CollectionId &amp;#61; 1&amp;#125;&amp;#59;&lt;br /&gt;            actual.Add&amp;#40;1&amp;#41;&amp;#59;&lt;br /&gt;            var expected &amp;#61; new TestCollection &amp;#123;CollectionId &amp;#61; 1&amp;#125;&amp;#59;&lt;br /&gt;            expected.Add&amp;#40;2&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#47;&amp;#47; this test failed with &amp;#34;Expected item&amp;#91;0&amp;#93; to be 2, but found 1.&amp;#34;&lt;br /&gt;            actual.ShouldBeEquivalentTo&amp;#40;expected, options &amp;#61;&amp;#62; options.Including&amp;#40;p &amp;#61;&amp;#62; p.CollectionId&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;        &amp;#91;Test&amp;#93;&lt;br /&gt;        public void ObjectGraphComparisonTest&amp;#40;&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            var actual &amp;#61; new TestCollection &amp;#123;CollectionId &amp;#61; 1&amp;#125;&amp;#59;&lt;br /&gt;            var expected &amp;#61; new TestCollection &amp;#123;CollectionId &amp;#61; 1&amp;#125;&amp;#59;&lt;br /&gt;            &amp;#47;&amp;#47; this test success&lt;br /&gt;            actual.ShouldBeEquivalentTo&amp;#40;expected, options &amp;#61;&amp;#62; options.Including&amp;#40;p &amp;#61;&amp;#62; p.CollectionId&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;            actual.Uid.Should&amp;#40;&amp;#41;.NotBe&amp;#40;expected.Uid&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#47;&amp;#47; this test success but should be failed because objects has a different Uid&lt;br /&gt;            actual.ShouldBeEquivalentTo&amp;#40;expected, options &amp;#61;&amp;#62; options.Including&amp;#40;p &amp;#61;&amp;#62; p.Uid&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#47;&amp;#47; this test success but should be failed because objects has a different Uid&lt;br /&gt;            actual.ShouldBeEquivalentTo&amp;#40;expected&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;        &amp;#91;Test&amp;#93;&lt;br /&gt;        public void DifferentCollectionsPropertyComparisonTest&amp;#40;&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            var actual &amp;#61; new TestCollection &amp;#123;CollectionId &amp;#61; 1&amp;#125;&amp;#59;&lt;br /&gt;            actual.Add&amp;#40;1&amp;#41;&amp;#59;&lt;br /&gt;            var expected &amp;#61; new TestCollection &amp;#123;CollectionId &amp;#61; 1&amp;#125;&amp;#59;&lt;br /&gt;            expected.Add&amp;#40;2&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#47;&amp;#47; this test failed with &amp;#34;Expected item&amp;#91;0&amp;#93; to be 2, but found 1.&amp;#34;&lt;br /&gt;            actual.ShouldHave&amp;#40;&amp;#41;.Properties&amp;#40;p &amp;#61;&amp;#62; p.CollectionId&amp;#41;.EqualTo&amp;#40;expected&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;        &amp;#91;Test&amp;#93;&lt;br /&gt;        public void ObjectPropertyComparisonTest&amp;#40;&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            var actual &amp;#61; new TestCollection &amp;#123;CollectionId &amp;#61; 1&amp;#125;&amp;#59;&lt;br /&gt;            var expected &amp;#61; new TestCollection &amp;#123;CollectionId &amp;#61; 1&amp;#125;&amp;#59;&lt;br /&gt;            &amp;#47;&amp;#47; this test success&lt;br /&gt;            actual.ShouldHave&amp;#40;&amp;#41;.Properties&amp;#40;p &amp;#61;&amp;#62; p.CollectionId&amp;#41;.EqualTo&amp;#40;expected&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;            actual.Uid.Should&amp;#40;&amp;#41;.NotBe&amp;#40;expected.Uid&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#47;&amp;#47; this test success but should be failed because objects has a different Uid&lt;br /&gt;            actual.ShouldHave&amp;#40;&amp;#41;.Properties&amp;#40;p &amp;#61;&amp;#62; p.Uid&amp;#41;.EqualTo&amp;#40;expected&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#47;&amp;#47; this test success but should be failed because objects has a different Uid&lt;br /&gt;            actual.ShouldHave&amp;#40;&amp;#41;.AllProperties&amp;#40;&amp;#41;.EqualTo&amp;#40;expected&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;Comments: That&amp;#39;s because the object implements IEnumerable. If you want to force FA to use an alternative comparison, you need to override that behavior using the Using&amp;#60;T&amp;#62;&amp;#40;&amp;#41; method on the options object. See specification When_an_assertion_is_overridden_for_a_predicate_it_should_use_the_provided_action&amp;#40;&amp;#41; in EquivalencySpecs.cs for an example.</description><author>dennisdoomen</author><pubDate>Mon, 01 Apr 2013 17:42:04 GMT</pubDate><guid isPermaLink="false">Commented Issue: FluentAssertions 2.0: objects, which are inherited from collections, are always compared as collections even that a comparison only by specified properties was requested. [12471] 20130401054204P</guid></item></channel></rss>