public void CaseConvertDesignerViewModel_ValidateCollectionItem_ValidatesPropertiesOfDTO() { //------------Setup for test-------------------------- var mi = ModelItemUtils.CreateModelItem(new DsfCaseConvertActivity()); mi.SetProperty("DisplayName", "Case Convert"); var dto = new CaseConvertTO("a&]]", "Upper", "", 0, true); var miCollection = mi.Properties["ConvertCollection"].Collection; var dtoModelItem = miCollection.Add(dto); var viewModel = new CaseConvertDesignerViewModel(mi); viewModel._getDatalistString = () => { const string trueString = "True"; const string noneString = "None"; var datalist = string.Format("<DataList><var Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><a Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><b Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><h Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><r Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><rec Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" ><set Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /></rec></DataList>", trueString, noneString); return(datalist); }; //------------Execute Test--------------------------- viewModel.Validate(); //------------Assert Results------------------------- Assert.AreEqual(2, viewModel.Errors.Count); StringAssert.Contains(viewModel.Errors[0].Message, Warewolf.Resource.Errors.ErrorResource.CaseConvertInputInvalidExpressionErrorTest); Verify_IsFocused(dtoModelItem, viewModel.Errors[0].Do, "IsStringToConvertFocused"); }
public void CaseConvertDesignerViewModel_Constructor_ModelItemIsInitializedWith4Items_ConvertCollectionHasFourItems() { var items = new List <CaseConvertTO> { new CaseConvertTO("", "None", "", 0), new CaseConvertTO("", "None", "", 0), new CaseConvertTO("", "None", "", 0), new CaseConvertTO("", "None", "", 0) }; var viewModel = new CaseConvertDesignerViewModel(CreateModelItem(items)); viewModel.Validate(); dynamic mi = viewModel.ModelItem; Assert.AreEqual(4, mi.ConvertCollection.Count); }