public void PropagateChildErrors_WithInvalidChildren_ParentHasError()
        {
            var error = "Child records are invalid";

            var validItem   = new ChildVM();
            var invalidItem = new ChildVM();

            var childDescriptor = CreateChildDescriptor(b => b.CheckViewModel(args => {
                if (args.Target == invalidItem)
                {
                    args.AddError("Item error");
                }
            }));

            ParentVM vm = CreateParent(b => b.PropagateChildErrors(error), childDescriptor);

            vm.Children.Add(validItem);
            ValidationAssert.IsValid(vm.ValidationResult);

            vm.Children.Add(invalidItem);
            var actualParentValidationState = vm.GetValidationResult(ValidationResultScope.Self);

            ValidationAssert.ErrorMessages(actualParentValidationState, error);
        }