public void FindRecordsMultipleCriteriaDesignerViewModel_ValidateCollectionItem_ValidatesPropertiesOfTO() { //------------Setup for test-------------------------- var mi = ModelItemUtils.CreateModelItem(new DsfFindRecordsMultipleCriteriaActivity()); mi.SetProperty("DisplayName", "Find"); mi.SetProperty("FieldsToSearch", "a,b"); mi.SetProperty("Result", "[[a]]"); var dto1 = new FindRecordsTO("", "Starts With", 0); var dto2 = new FindRecordsTO("", "Ends With", 1); var dto3 = new FindRecordsTO("", "Doesn't Start With", 2); var dto4 = new FindRecordsTO("", "Doesn't End With", 3); var dto5 = new FindRecordsTO("", "Is Between", 4); var dto6 = new FindRecordsTO("", "Is Not Between", 5); // ReSharper disable PossibleNullReferenceException var miCollection = mi.Properties["ResultsCollection"].Collection; var dtoModelItem1 = miCollection.Add(dto1); var dtoModelItem2 = miCollection.Add(dto2); var dtoModelItem3 = miCollection.Add(dto3); var dtoModelItem4 = miCollection.Add(dto4); var dtoModelItem5 = miCollection.Add(dto5); var dtoModelItem6 = miCollection.Add(dto6); // ReSharper restore PossibleNullReferenceException var viewModel = new FindRecordsMultipleCriteriaDesignerViewModel(mi); SetDataListString(viewModel); //------------Execute Test--------------------------- viewModel.Validate(); //------------Assert Results------------------------- Assert.AreEqual(8, viewModel.Errors.Count); StringAssert.Contains(viewModel.Errors[0].Message, "'Match' cannot be empty"); Verify_IsFocused(dtoModelItem1, viewModel.Errors[0].Do, "IsSearchCriteriaFocused"); StringAssert.Contains(viewModel.Errors[1].Message, "'Match' cannot be empty"); Verify_IsFocused(dtoModelItem2, viewModel.Errors[1].Do, "IsSearchCriteriaFocused"); StringAssert.Contains(viewModel.Errors[2].Message, "'Match' cannot be empty"); Verify_IsFocused(dtoModelItem3, viewModel.Errors[2].Do, "IsSearchCriteriaFocused"); StringAssert.Contains(viewModel.Errors[3].Message, "'Match' cannot be empty"); Verify_IsFocused(dtoModelItem4, viewModel.Errors[3].Do, "IsSearchCriteriaFocused"); StringAssert.Contains(viewModel.Errors[4].Message, "'From' cannot be empty"); Verify_IsFocused(dtoModelItem5, viewModel.Errors[4].Do, "IsFromFocused"); StringAssert.Contains(viewModel.Errors[5].Message, "'To' cannot be empty"); Verify_IsFocused(dtoModelItem5, viewModel.Errors[5].Do, "IsToFocused"); StringAssert.Contains(viewModel.Errors[6].Message, "'From' cannot be empty"); Verify_IsFocused(dtoModelItem6, viewModel.Errors[6].Do, "IsFromFocused"); StringAssert.Contains(viewModel.Errors[7].Message, "'To' cannot be empty"); Verify_IsFocused(dtoModelItem6, viewModel.Errors[7].Do, "IsToFocused"); }
public void FindRecordsTO_GetRuleSet_OnToSearchTypeAsIsNotBetween_ReturnTwoRules() { //------------Setup for test-------------------------- var findRecordsTO = new FindRecordsTO { SearchType = "Is Not Between", SearchCriteria = string.Empty }; VerifyCorrectRulesForEachField(findRecordsTO, "To"); }
public void FindRecordsTO_GetRuleSet_OnSearchCriteriaSearchTypeAsDoesntStartWith_ReturnTwoRules() { //------------Setup for test-------------------------- var findRecordsTO = new FindRecordsTO { SearchType = "Doesn't Start With", SearchCriteria = string.Empty }; VerifyCorrectRulesForEachField(findRecordsTO, "SearchCriteria"); }
static void VerifyCorrectRulesForEachField(FindRecordsTO findRecordsTO, string fieldName) { //------------Execute Test--------------------------- var rulesSet = findRecordsTO.GetRuleSet(fieldName, ""); //------------Assert Results------------------------- Assert.IsNotNull(rulesSet); Assert.IsInstanceOfType(rulesSet.Rules[0], typeof(IsStringEmptyRule)); Assert.IsInstanceOfType(rulesSet.Rules[1], typeof(IsValidExpressionRule)); }
public void FindRecordsTO_CanRemove_SearchTypeEmptyAndSearchTypeWithData_ReturnFalse() { //------------Setup for test-------------------------- var findRecordsTO = new FindRecordsTO { SearchType = string.Empty, SearchCriteria = "Data" }; //------------Execute Test--------------------------- Assert.IsFalse(findRecordsTO.CanRemove()); //------------Assert Results------------------------- }
public void FindRecordsTO_CanAdd_SearchTypeWithData_ReturnTrue() { //------------Setup for test-------------------------- var findRecordsTO = new FindRecordsTO { SearchType = "Contains" }; //------------Execute Test--------------------------- Assert.IsTrue(findRecordsTO.CanAdd()); //------------Assert Results------------------------- }
public void FindRecordsTO_CanAdd_SearchTypeEmpty_ReturnFalse() { //------------Setup for test-------------------------- var findRecordsTO = new FindRecordsTO { SearchType = string.Empty }; //------------Execute Test--------------------------- Assert.IsFalse(findRecordsTO.CanAdd()); //------------Assert Results------------------------- }
public void FindRecordsTO_IsSearchCriteriaEnabled_SetValue_FiresNotifyPropertyChanged() { //------------Setup for test-------------------------- var findRecordsTO = new FindRecordsTO(); const bool isSearchCriteriaEnabled = true; //------------Execute Test--------------------------- var notifyPropertyChanged = TestUtils.PropertyChangedTester(findRecordsTO, () => findRecordsTO.IsSearchCriteriaEnabled, () => findRecordsTO.IsSearchCriteriaEnabled = isSearchCriteriaEnabled); //------------Assert Results------------------------- Assert.AreEqual(isSearchCriteriaEnabled, findRecordsTO.IsSearchCriteriaEnabled); Assert.IsTrue(notifyPropertyChanged); }
public void FindRecordsTO_IndexNum_SetValue_FiresNotifyPropertyChanged() { //------------Setup for test-------------------------- var findRecordsTO = new FindRecordsTO(); const int indexNum = 5; //------------Execute Test--------------------------- var notifyPropertyChanged = TestUtils.PropertyChangedTester(findRecordsTO, () => findRecordsTO.IndexNumber, () => findRecordsTO.IndexNumber = indexNum); //------------Assert Results------------------------- Assert.AreEqual(indexNum, findRecordsTO.IndexNumber); Assert.IsTrue(notifyPropertyChanged); }
public void FindRecordsTO_SearchCriteria_SetValue_FiresNotifyPropertyChanged() { //------------Setup for test-------------------------- var findRecordsTO = new FindRecordsTO(); const string searchCriteria = "MyValue"; //------------Execute Test--------------------------- var notifyPropertyChanged = TestUtils.PropertyChangedTester(findRecordsTO, () => findRecordsTO.SearchCriteria, () => findRecordsTO.SearchCriteria = searchCriteria); //------------Assert Results------------------------- Assert.AreEqual(searchCriteria, findRecordsTO.SearchCriteria); Assert.IsTrue(notifyPropertyChanged); }
public void FindRecordsTO_SearchType_SetValue_FiresNotifyPropertyChanged() { //------------Setup for test-------------------------- var findRecordsTO = new FindRecordsTO(); const string searchType = "MyValue"; //------------Execute Test--------------------------- // ReSharper disable ImplicitlyCapturedClosure var notifyPropertyChanged = TestUtils.PropertyChangedTester(findRecordsTO, () => findRecordsTO.SearchType, () => findRecordsTO.SearchType = searchType); // ReSharper restore ImplicitlyCapturedClosure //------------Assert Results------------------------- Assert.AreEqual(searchType, findRecordsTO.SearchType); Assert.IsTrue(notifyPropertyChanged); }
public void FindRecordsTO_Constructor_Default_SetsProperties() { //------------Setup for test-------------------------- //------------Execute Test--------------------------- var findRecordsTO = new FindRecordsTO(); //------------Assert Results------------------------- Assert.IsNotNull(findRecordsTO); Assert.AreEqual("Match On", findRecordsTO.SearchCriteria); Assert.AreEqual("Equal", findRecordsTO.SearchType); Assert.AreEqual(0, findRecordsTO.IndexNumber); Assert.IsFalse(findRecordsTO.Inserted); Assert.IsFalse(findRecordsTO.IsSearchCriteriaEnabled); }
public void FindRecordsMultipleCriteriaDesignerViewModel_ValidateCollectionItem_ValidatesPropertiesOfTO() { //------------Setup for test-------------------------- var mi = ModelItemUtils.CreateModelItem(new DsfFindRecordsMultipleCriteriaActivity()); mi.SetProperty("DisplayName", "Find"); mi.SetProperty("FieldsToSearch", "a,b"); mi.SetProperty("Result", "[[a]]"); var dto1 = new FindRecordsTO("", "Starts With", 0); var dto2 = new FindRecordsTO("", "Ends With", 1); var dto3 = new FindRecordsTO("", "Doesn't Start With", 2); var dto4 = new FindRecordsTO("", "Doesn't End With", 3); var dto5 = new FindRecordsTO("", "Is Between", 4); var dto6 = new FindRecordsTO("", "Is Not Between", 5); var miCollection = mi.Properties["ResultsCollection"].Collection; var dtoModelItem1 = miCollection.Add(dto1); var dtoModelItem2 = miCollection.Add(dto2); var dtoModelItem3 = miCollection.Add(dto3); var dtoModelItem4 = miCollection.Add(dto4); var dtoModelItem5 = miCollection.Add(dto5); var dtoModelItem6 = miCollection.Add(dto6); var viewModel = new FindRecordsMultipleCriteriaDesignerViewModel(mi); SetDataListString(viewModel); //------------Execute Test--------------------------- viewModel.Validate(); //------------Assert Results------------------------- Assert.AreEqual(5, viewModel.Errors.Count); StringAssert.Contains(viewModel.Errors[0].Message, "'In Field(s)' Cannot have any scalars in this field"); StringAssert.Contains(viewModel.Errors[1].Message, Warewolf.Resource.Errors.ErrorResource.FindRecordsFromNotNullErrorTest); Verify_IsFocused(dtoModelItem5, viewModel.Errors[1].Do, "IsFromFocused"); StringAssert.Contains(viewModel.Errors[2].Message, Warewolf.Resource.Errors.ErrorResource.FindRecordsToNotNullErrorTest); Verify_IsFocused(dtoModelItem5, viewModel.Errors[2].Do, "IsToFocused"); StringAssert.Contains(viewModel.Errors[3].Message, Warewolf.Resource.Errors.ErrorResource.FindRecordsFromNotNullErrorTest); Verify_IsFocused(dtoModelItem6, viewModel.Errors[3].Do, "IsFromFocused"); StringAssert.Contains(viewModel.Errors[4].Message, Warewolf.Resource.Errors.ErrorResource.FindRecordsToNotNullErrorTest); Verify_IsFocused(dtoModelItem6, viewModel.Errors[4].Do, "IsToFocused"); }
public void FindRecordsTO_ParameterConstructor_SetsProperties() { //------------Setup for test-------------------------- const string searchCriteria = "Bob"; const string searchType = ">"; const int indexNum = 3; //------------Execute Test--------------------------- var findRecordsTO = new FindRecordsTO(searchCriteria, searchType, indexNum); //------------Assert Results------------------------- Assert.IsNotNull(findRecordsTO); Assert.AreEqual(searchCriteria, findRecordsTO.SearchCriteria); Assert.AreEqual(searchType, findRecordsTO.SearchType); Assert.AreEqual(indexNum, findRecordsTO.IndexNumber); Assert.IsFalse(findRecordsTO.Inserted); Assert.IsFalse(findRecordsTO.IsSearchCriteriaEnabled); }
void Verify_OnSearchTypeChanged_IsSearchCriteriaEnabled(string searchType, bool isSearchCriteriaEnabled, bool isSearchCriteriaBlank) { //------------Setup for test-------------------------- var findRecordsTO = new FindRecordsTO("xxxx", searchType, 1); var items = new List <FindRecordsTO> { findRecordsTO }; var viewModel = new FindRecordsMultipleCriteriaDesignerViewModel(CreateModelItem(items)); //------------Precondition--------------------------- Assert.IsFalse(findRecordsTO.IsSearchCriteriaEnabled); //------------Execute Test--------------------------- viewModel.SearchTypeUpdatedCommand.Execute(0); //------------Assert Results------------------------- Assert.AreEqual(isSearchCriteriaEnabled, findRecordsTO.IsSearchCriteriaEnabled); Assert.AreEqual(isSearchCriteriaBlank, string.IsNullOrEmpty(findRecordsTO.SearchCriteria)); }