public void Invokes_inner_behaviour_when_validation_is_success()
		{
			var validatedInputModel = new ValidatedInputModel<RemapInputModel>(inputModel) { FailedValidation = false };

			request.Stub(r => r.Get<ValidatedInputModel<RemapInputModel>>()).Return(validatedInputModel);

			behaviour.Invoke();

			inner.AssertWasCalled(i => i.Invoke());
		}
		public void Does_not_map_properties_when_validation_is_successful()
		{
			var validatedInputModel = new ValidatedInputModel<RemapInputModel>(inputModel) { FailedValidation = false };

			request.Stub(r => r.Get<ValidatedInputModel<RemapInputModel>>()).Return(validatedInputModel);

			behaviour.Invoke();

			var vm = request.Get<RemapViewModel>();

			Assert.That(vm.Name, Is.Not.EqualTo(inputModel.Name));
			Assert.That(vm.Age, Is.Not.EqualTo(inputModel.Age));
			Assert.That(vm.Height, Is.Not.EqualTo(inputModel.Height));
		}
		public void Maps_properties_from_validated_input_model_to_view_model_when_validation_failed()
		{
			var validatedInputModel = new ValidatedInputModel<RemapInputModel>(inputModel){FailedValidation = true};
			
			request.Stub(r => r.Get<ValidatedInputModel<RemapInputModel>>()).Return(validatedInputModel);

			behaviour.Invoke();

			var vm = request.Get<RemapViewModel>();

			Assert.That(vm.Name, Is.EqualTo(inputModel.Name));
			Assert.That(vm.Age, Is.EqualTo(inputModel.Age));
			Assert.That(vm.Height, Is.EqualTo(inputModel.Height));
		}