title: C# - Asserting two objects are equal in unit tests
body: <p>Either using Nunit or Microsoft.VisualStudio.TestTools.UnitTesting. Right now my assertion fails.</p>
  
  <pre><code>    [TestMethod]
      public void GivenEmptyBoardExpectEmptyBoard()
      {
          var test = new Board();
  
          var input = new Board()
              {
                  Rows = new List&lt;Row&gt;()
                      {
                          new Row(){Cells = new List&lt;int&gt;(){0,0,0,0}},
                          new Row(){Cells = new List&lt;int&gt;(){0,0,0,0}},
                          new Row(){Cells = new List&lt;int&gt;(){0,0,0,0}},
                          new Row(){Cells = new List&lt;int&gt;(){0,0,0,0}},
                      }
              };
  
          var expected = new Board()
          {
              Rows = new List&lt;Row&gt;()
                      {
                          new Row(){Cells = new List&lt;int&gt;(){0,0,0,0}},
                          new Row(){Cells = new List&lt;int&gt;(){0,0,0,0}},
                          new Row(){Cells = new List&lt;int&gt;(){0,0,0,0}},
                          new Row(){Cells = new List&lt;int&gt;(){0,0,0,0}},
                      }
          };
  
          var lifeOrchestration = new LifeOrchestration();
  
          var actual = lifeOrchestration.Evolve(input);
  
          Assert.AreEqual(expected, actual);
      }
  </code></pre>