title: How to replace Assert.Fail() with FluentAssertions
body: <p>We are currently converting some code that was using <code>Assert.IsTrue()</code>, <code>Assert.AreEqual()</code>, <code>Assert.IsNotNull()</code>, etc. The basic unit test assert Library for C#</p>
  
  <p>We want to use FluentAssertions, like <code>value.Should().BeNull().</code></p>
  
  <p>I'm stuck on a few tests using <code>Assert.Fail()</code> in some locations. What should I use to efficiently replace those, since we want to do away with every single "Assert.*", and I can't find an equivalent in FluentAssertions?</p>
  
  <p>Here is an example</p>
  
  <pre><code>[TestMethod, TestCategory("ImportantTest")]
  public void MethodToTest_Circumstances_ExpectedResult()
  {
      // Arrange
      var variable1 = new Type1() { Value = "hello" };
      var variable2 = new Type2() { Name = "Bob" };
  
      // Act
      try
      {
          MethodToTest(variable1, variable2);
          // This method should have thrown an exception
          Assert.Fail();
      }
      catch (Exception ex)
      {
          ex.Should().BeOfType&lt;DataException&gt;();
          ex.Message.Should().Be(Constants.DataMessageForMethod);
      }
  
      // Assert
      // test that variable1 was changed by the method
      variable1.Should().NotBeNull();
      variable1.Value.Should().Be("Hello!");
      // test that variable2 is unchanged because the method threw an exception before changing it
      variable2.Should().NotBeNull();
      variable2.Name.Should().Be("Bob");
  }
  </code></pre>