public void verify_retrieval_of_correct_member_names_when_validation_context_is_broken() { var model = new HackTestModel(); var attrib = new AssertThatAttribute("false"); // correct path: Assert.Equal("Value1", GetFinalMemberName(attrib, model, 0, "Value1", "Value1")); Assert.Equal("Value2", GetFinalMemberName(attrib, model, 0, "Value2", "Value 2")); Assert.Equal("Value3", GetFinalMemberName(attrib, model, 0, "Value3", "Value 3")); // first issue: no member name provided (MVC <= 4) Assert.Equal("Value1", GetFinalMemberName(attrib, model, 0, null, "Value1")); Assert.Equal("Value2", GetFinalMemberName(attrib, model, 0, null, "Value 2")); Assert.Equal("Value3", GetFinalMemberName(attrib, model, 0, null, "Value 3")); // second issue: member name equals to display name (WebAPI 2) Assert.Equal("Value2", GetFinalMemberName(attrib, model, 0, "Value 2", "Value 2")); Assert.Equal("Value3", GetFinalMemberName(attrib, model, 0, "Value 3", "Value 3")); }