public void WithSignature_When_called_for_too_long_signature_Then_throws_argumentException()
		{
			var signature = "too-long-parameter-signature-with-too-many-letters-and-words";
			var parameterDefinition = GetValidParameterDefinition();

			var parameterConfiguration =
				new ParameterConfiguration(parameterDefinition);

			Assert.Throws<ArgumentException>(() => parameterConfiguration.WithSignature(signature));
		}
		public void WithSignature_When_called_for_signature_containing_special_character_Then_throws_argumentException()
		{
			var signature = "signature#with#hashtags";
			var parameterDefinition = GetValidParameterDefinition();

			var parameterConfiguration =
				new ParameterConfiguration(parameterDefinition);

			Assert.Throws<ArgumentException>(() => parameterConfiguration.WithSignature(signature));
		}
		internal ParameterConfiguration AddParameterDefinition(PropertyInfo propertyInfo)
		{
			var parameterDefinition = new ParameterDefinition(propertyInfo);

			parameterDefinition.SetSignature(SignatureHelper.GetDefaultPropertySignature(propertyInfo));

			var propertyConfiguration = new ParameterConfiguration(parameterDefinition);

			_parameters.Add(parameterDefinition);

			return propertyConfiguration;
		}
			WithSignature_When_called_for_lowercase_alpha_signature_with_dashes_Then_sets_parameterDefinition_signature()
		{
			var signature = "signature-with-dash";
			var parameterDefinition = GetValidParameterDefinition();

			var parameterConfiguration =
				new ParameterConfiguration(parameterDefinition);

			parameterConfiguration.WithSignature(signature);

			Assert.Equal(signature, parameterDefinition.Signature);
		}
		public void WithSignature_When_called_for_lowercase_alзha_signature_Then_sets_parameterDefinition_signature()
		{
			var signature = "signature";
			var parameterDefinition = GetValidParameterDefinition();

			var parameterConfiguration =
				new ParameterConfiguration(parameterDefinition);

			parameterConfiguration.WithSignature(signature);

			Assert.Equal(signature, parameterDefinition.Signature);
		}
		public void WithDescription_When_called_for_null_Then_throws_argumentNullException()
		{
			var parameterDefinition = GetValidParameterDefinition();
			var parameterConfiguration = new ParameterConfiguration(parameterDefinition);

			Assert.Throws<ArgumentNullException>(() => parameterConfiguration.WithDescription(null));
		}