Note that there are some explanatory texts on larger screens.

plurals
  1. POWhy does Assert.AreEqual(T obj1, Tobj2) fail with identical objects
    primarykey
    data
    text
    <p>I have a class which contains several structs:</p> <pre><code>public class NavigationMenu { public struct NavigationMenuItem { public bool Enabled { get; set; } public int NumberOfPendingOperations { get; set; } } public NavigationMenuItem SubmitExpenses { get; set; } public NavigationMenuItem ManageExpenses { get; set; } public NavigationMenuItem SubmitBudgets { get; set; } public NavigationMenuItem ManageBudgets { get; set; } public NavigationMenuItem AuthorizeExpenses { get; set; } public NavigationMenuItem ApproveExpenses { get; set; } public NavigationMenuItem PayExpenses { get; set; } public NavigationMenuItem BillExpenses { get; set; } public NavigationMenuItem ManageReturnedExpenses { get; set; } public NavigationMenuItem ManageIncompleteExpenses { get; set; } public NavigationMenuItem ManageOrders { get; set; } public NavigationMenuItem ApproveBudgets { get; set; } public NavigationMenuItem AdministrateSystem { get; set; } } </code></pre> <p>In a unit test I make a function call and compare the results:</p> <pre><code>NavigationMenu expected = new NavigationMenu(); expected.SubmitExpenses = new NavigationMenu.NavigationMenuItem { Enabled = true }; expected.ManageExpenses = new NavigationMenu.NavigationMenuItem { Enabled = true }; NavigationMenu actual = HomeControllerHelper.GetNavigationMenuByUserRole(userRole); Assert.AreEqual(expected, actual); </code></pre> <p>But the Assert.AreEqual always throws AssertFailedException. The objects are identical, I've verified this using debugger. Please share any ideas. Thanks.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload