title: Shouldly and Json.NET: This passes?! JToken.Parse("{}").ShouldBe("hello");
body: <p>Can anyone explain this strange interaction between <a href="http://james.newtonking.com/json/help/index.html?topic=html/T_Newtonsoft_Json_Linq_JToken.htm" rel="nofollow"><code>Newtonsoft.Json.Linq.JToken</code></a> (from Json.NET 4.5) and <a href="http://shouldly.github.io/" rel="nofollow">Shouldly</a> 1.1.1.1?</p>
  
  <p>Here's the full C# code:</p>
  
  <pre><code>using Newtonsoft.Json.Linq;
  using NUnit.Framework;  
  using Shouldly;
  
  public class Tests
  {
      [Test]
      public void this_test_passes()
      {
          JToken.Parse("{}").ShouldBe("hello");
      }
  }
  </code></pre>
  
  <p>NOTE: the string <code>"hello"</code> is not special, it can be any string. </p>
  
  <p>I'm guessing this has something to do with implicit casting to some type that overrides <code>Equals(...)</code> to return true for all strings, or something. But that's the best I can do, can anyone explain what is really going on here?</p>
  
  <p><strong>EDIT: I've submitted <a href="https://github.com/shouldly/shouldly/pull/66" rel="nofollow">a patch for this issue</a>, will update again if it gets merged into master.</strong></p>
  
  <p><strong>UPDATE: Issue fixed for next release... :)</strong> <a href="https://github.com/shouldly/shouldly/issues/65#issuecomment-34579229" rel="nofollow">https://github.com/shouldly/shouldly/issues/65#issuecomment-34579229</a></p>