public void Init()
		{
			Thread.CurrentThread.CurrentCulture =
				Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-us");

			validator = new NullableDoubleValidator();
			validator.Initialize(new CachedValidationRegistry(), typeof(TestTarget).GetProperty("TargetField"));
			target = new TestTarget();
		}
        public void ValidateDoubleToBeApproximatelyValue()
        {
            // Given
            var validator = new NullableDoubleValidator(42.12345);

            // When
            validator.BeApproximately(42.123, 0.1);

            // Then
            Assert.True(true);
        }
        public void ValidateSByteToBePositive()
        {
            // Given
            var validator = new NullableDoubleValidator(0);

            // When
            validator.BePositive();

            // Then
            Assert.True(true);
        }
        public void ValidateNullableDoubleToBeOneOfExpectedValues()
        {
            // Given
            var validator = new NullableDoubleValidator(null);

            // When
            validator.BeOneOf(new double?[] { 10, null });

            // Then
            Assert.True(true);
        }
        public void ValidateNullableDoubleToBeNull()
        {
            // Given
            var validator = new NullableDoubleValidator(null);

            // When
            validator.BeNull();

            // Then
            Assert.True(true);
        }
        public void ValidateDoubleToBeLessThanOrEqualToEqualValue()
        {
            // Given
            var validator = new NullableDoubleValidator(42);

            // When
            validator.BeLessThanOrEqualTo(42);

            // Then
            Assert.True(true);
        }
        public void ValidateDoubleToBeGreaterThanOrEqualToSmallerValue()
        {
            // Given
            var validator = new NullableDoubleValidator(42);

            // When
            validator.BeGreaterThanOrEqualTo(13);

            // Then
            Assert.True(true);
        }
        public void ValidateDoubleToBeValue()
        {
            // Given
            var validator = new NullableDoubleValidator(42);

            // When
            validator.Be(42);

            // Then
            Assert.True(true);
        }
        public void ValidateDoubleToBeBetweenValues()
        {
            // Given
            var validator = new NullableDoubleValidator(42);

            // When
            validator.BeBetween(13, 100);

            // Then
            Assert.True(true);
        }
        public void ValidateDoubleToBeApproximatelyValueViolated()
        {
            // Given
            var validator = new NullableDoubleValidator(42.12345);

            // When
            var exception = Assert.Throws <XunitException>(() => validator.BeApproximately(42, 0.01, "that's the bottom line"));

            // Then
            Assert.NotNull(exception);
            var rn = Environment.NewLine;

            Assert.Equal(
                $"{rn}validator{rn}is \"42,12345\"{rn}but was expected to be approximately \"42\" (+/- 0,01){rn}because that's the bottom line",
                exception.UserMessage);
        }
        public void ValidateSByteToBePositiveViolated()
        {
            // Given
            var validator = new NullableDoubleValidator(-42);

            // When
            var exception = Assert.Throws <XunitException>(() => validator.BePositive(because: "that's the bottom line"));

            // Then
            Assert.NotNull(exception);
            var rn = Environment.NewLine;

            Assert.Equal(
                $"{rn}validator{rn}is \"-42\"{rn}but was expected to have a positive value{rn}because that's the bottom line",
                exception.UserMessage);
        }
        public void ValidateDoubleToBeOneOfViolated()
        {
            // Given
            var validator = new NullableDoubleValidator(42);

            // When
            var exception = Assert.Throws <XunitException>(() => validator.BeOneOf(new double?[] { 13, 39 }, because: "that's the bottom line"));

            // Then
            Assert.NotNull(exception);
            var rn = Environment.NewLine;

            Assert.Equal(
                $"{rn}validator{rn}is \"42\"{rn}but was expected to be one of the following values: \"13\", \"39\"{rn}because that's the bottom line",
                exception.UserMessage);
        }
        public void ValidateNullableToBeNullWithReasonViolated()
        {
            // Given
            var validator = new NullableDoubleValidator(0);

            // When
            var exception = Assert.Throws <XunitException>(() => validator.BeNull("that's the bottom line"));

            // Then
            Assert.NotNull(exception);
            var rn = Environment.NewLine;

            Assert.Equal(
                $"{rn}validator{rn}is \"0\"{rn}but was expected to be null{rn}because that's the bottom line",
                exception.UserMessage);
        }
        public void ValidateNullableDoubleToBeLessThanOrEqualToValueViolated()
        {
            // Given
            var validator = new NullableDoubleValidator(null);

            // When
            var exception = Assert.Throws <XunitException>(() => validator.BeLessThanOrEqualTo(13, "that's the bottom line"));

            // Then
            Assert.NotNull(exception);
            var rn = Environment.NewLine;

            Assert.Equal(
                $"{rn}validator{rn}is \"\"{rn}but was expected to be less than or equal to \"13\"{rn}because that's the bottom line",
                exception.UserMessage);
        }
        public void ValidateDoubleToBeGreaterThanValueViolated()
        {
            // Given
            var validator = new NullableDoubleValidator(42);

            // When
            var exception = Assert.Throws <XunitException>(() => validator.BeGreaterThan(42, "that's the bottom line"));

            // Then
            Assert.NotNull(exception);
            var rn = Environment.NewLine;

            Assert.Equal(
                $"{rn}validator{rn}is \"42\"{rn}but was expected to be greater than \"42\"{rn}because that's the bottom line",
                exception.UserMessage);
        }
        public void ValidateNullableDoubleToBeBetweenValuesMinimumAndMaximumViolated()
        {
            // Given
            var validator = new NullableDoubleValidator(null);

            // When
            var exception = Assert.Throws <XunitException>(() => validator.BeBetween(100, 13, "that's the bottom line"));

            // Then
            Assert.NotNull(exception);
            var rn = Environment.NewLine;

            Assert.Equal(
                $"{rn}validator{rn}is \"\"{rn}but was expected to be between \"100\" and \"13\"{rn}because that's the bottom line",
                exception.UserMessage);
        }