public void IgnoresPrincipal()
            {
                var model = new UpdateNameForm();

                var command = Mapper.Map <UpdateMyNameCommand>(model);

                command.ShouldNotBeNull();
                command.Principal.ShouldBeNull();
            }
            public void IgnoresChangeCount()
            {
                var model = new UpdateNameForm();

                var command = Mapper.Map <UpdateMyNameCommand>(model);

                command.ShouldNotBeNull();
                command.ChangeCount.ShouldEqual(0);
            }
            public void MapsIsDisplayNameDerived()
            {
                var model = new UpdateNameForm {
                    IsDisplayNameDerived = true
                };

                var command = Mapper.Map <UpdateMyNameCommand>(model);

                command.ShouldNotBeNull();
                command.IsDisplayNameDerived.ShouldBeTrue();
            }
            public void IsValidWhen_DisplayName_IsNotEmpty()
            {
                var validator = new UpdateNameValidator();
                var model     = new UpdateNameForm {
                    DisplayName = "test"
                };
                var results = validator.Validate(model);
                var error   = results.Errors.SingleOrDefault(e => e.PropertyName == PropertyName);

                error.ShouldBeNull();
            }
            public void MapsSuffix()
            {
                const string value = "test";
                var          model = new UpdateNameForm {
                    Suffix = value
                };

                var command = Mapper.Map <UpdateMyNameCommand>(model);

                command.ShouldNotBeNull();
                command.Suffix.ShouldNotBeNull();
                command.Suffix.ShouldEqual(model.Suffix);
            }
            public void MapsLastName()
            {
                const string value = "test";
                var          model = new UpdateNameForm {
                    LastName = value
                };

                var command = Mapper.Map <UpdateMyNameCommand>(model);

                command.ShouldNotBeNull();
                command.LastName.ShouldNotBeNull();
                command.LastName.ShouldEqual(model.LastName);
            }
            public void IsInvalidWhen_DisplayName_IsWhiteSpace()
            {
                var validator = new UpdateNameValidator();
                var model     = new UpdateNameForm {
                    DisplayName = " \r"
                };
                var results = validator.Validate(model);

                results.IsValid.ShouldBeFalse();
                results.Errors.Count.ShouldBeInRange(1, int.MaxValue);
                var error = results.Errors.SingleOrDefault(e => e.PropertyName == PropertyName);

                error.ShouldNotBeNull();
                // ReSharper disable PossibleNullReferenceException
                error.ErrorMessage.ShouldEqual(
                    UpdateNameValidator.FailedBecauseDisplayNameWasEmpty);
                // ReSharper restore PossibleNullReferenceException
            }