У меня есть следующий модульный тест:
string MtrlCode = "0";
Assessment target = new Assessment(MtrlCode);
List<string> EdgeCaseSymbolCodes = new List<string>(); //More than 3
EdgeCaseSymbolCodes.Add("FLA");
EdgeCaseSymbolCodes.Add("HAR");
EdgeCaseSymbolCodes.Add("COR");
EdgeCaseSymbolCodes.Add("ENVON");
EdgeCaseSymbolCodes.Add("ENVR");
EdgeCaseSymbolCodes.Add("EXP");
target.HazardSymbols = EdgeCaseSymbolCodes;
List<string> EdgeCaseSymbolCodesExpected = new List<string>(); //Should be 3
EdgeCaseSymbolCodesExpected.Add("FLA");
EdgeCaseSymbolCodesExpected.Add("HAR");
EdgeCaseSymbolCodesExpected.Add("COR");
System.Windows.Forms.MessageBox.Show(EdgeCaseSymbolCodesExpected[0] + EdgeCaseSymbolCodesExpected[1] + EdgeCaseSymbolCodesExpected[2] + " = \n" + target.HazardSymbols[0] + target.HazardSymbols[1] + target.HazardSymbols[2]);
Assert.AreEqual<List<string>>(EdgeCaseSymbolCodesExpected, target.HazardSymbols, "COSHH_2008.Custom_Classes.Assessment.setHazardSymbols Edge Case did not return the expected value.");
Который проверяет крайний случай (время, когда в List
больше, чем 3 элемента), при этом желаемый результат - это возврат только первых 3.
В настоящее время тест не проходит, и мне пришлось прибегнуть к использованию MessageBox
, чтобы заглянуть внутрь теста (из-за точки останова не достигаются!).
Насколько я могу судить, элементы те же самые, однако я понимаю, что с объектом List
может быть что-то другое, но я не вижу этого, поскольку точки останова никогда не были ударять.
Я не могу найти окно модулей в Visual Studio 2005.
Что вы будете делать дальше?