public void Setup() { InvalidItemsOfCollectionValidator = new List <EmployeeVM>(); InvalidItemsOfSecondCollectionValidator = new List <EmployeeVM>(); InvalidItemsOfPropertyValidator = new List <EmployeeVM>(); InvalidItemsOfSecondPropertyValidator = new List <EmployeeVM>(); VM = new EmployeeListVM(this); TargetItem = new EmployeeVM(this, "Target employee"); OtherItem = new EmployeeVM(this, "Other employee"); VM.GetValue(x => x.Employees).Add(TargetItem); VM.GetValue(x => x.Employees).Add(OtherItem); }
public void TestMethod1() { IEnumerable <Employee> source = GenerateEmployees(); var list = new EmployeeListVM(); var sw = Stopwatch.StartNew(); list = new EmployeeListVM(); list.Source = source; list.Revalidate(ValidationScope.SelfAndLoadedDescendants); foreach (EmployeeVM item in list.GetValue(x => x.Employees)) { var selection = item.GetValue(x => x.EmploymentType); object simulatedBindingAccess = item.GetValue(x => x.Name); simulatedBindingAccess = selection.GetValue(x => x.AllItems); simulatedBindingAccess = selection.GetValue(x => x.SelectedItem); } //sw.Stop(); //Console.WriteLine("Time [ms]: " + sw.ElapsedMilliseconds); //sw = Stopwatch.StartNew(); //list.Revalidate(ValidationScope.SelfAndAllDescendants); sw.Stop(); Console.WriteLine("Time [ms]: " + sw.ElapsedMilliseconds); }
public void AddError_ArgsWithProperty_CreatesAndAddsCorrectError() { var item = new EmployeeVM(); var owner = new EmployeeListVM(item); var validator = Mock <IValidator>(); var step = ValidationStep.Value; var message = "Test error message"; var details = new Object(); var args = CreateArgsWithProperty(owner, step, validator); args.AddError(item, message, details); var expectedError = new ValidationError( validator, ValidationTarget.ForError( step, item, owner.GetValue(x => x.Employees), EmployeeVM.ClassDescriptor.Name ), message, details ); ValidationAssert.HasErrors(args.Result, ValidationAssert.FullErrorComparer, expectedError); }
public void Create_PathWithViewModelPlusCollection_SetPropertiesCorrectly() { var owner = new EmployeeListVM(); var args = CreateArgs(owner); Assert.AreEqual(owner, args.Owner); Assert.AreEqual(owner.GetValue(x => x.Employees), args.Items); }
public void Create_PathWithViewModelPlusCollectionPlusProperty_SetPropertiesCorrectly() { var owner = new EmployeeListVM(); var args = CreateArgsWithProperty(owner); Assert.AreEqual(owner, args.Owner); Assert.AreEqual(owner.GetValue(x => x.Employees), args.Items); Assert.AreEqual(EmployeeVM.ClassDescriptor.Name, args.TargetProperty); }
private static CollectionValidationArgs <IViewModel, EmployeeVM> CreateArgs( EmployeeListVM owner, IValidator validator = null ) { validator = validator ?? Mock <IValidator>(); var path = Path.Empty .Append(owner) .Append(owner.GetValue(x => x.Employees)); return(CollectionValidationArgs <IViewModel, EmployeeVM> .Create( validator, new ValidationRequest(ValidationStep.ViewModel, path) )); }
private static CollectionValidationArgs <IViewModel, EmployeeVM, string> CreateArgsWithProperty( EmployeeListVM owner, ValidationStep step = ValidationStep.Value, IValidator validator = null ) { validator = validator ?? Mock <IValidator>(); var path = Path.Empty .Append(owner) .Append(owner.GetValue(x => x.Employees)) .Append(EmployeeVM.ClassDescriptor.Name); return(CollectionValidationArgs <IViewModel, EmployeeVM, string> .Create( validator, new ValidationRequest(step, path) )); }