public virtual void Double_value_comparer_handles_NaN()
        {
            var typeMapping = new DoubleTypeMapping("double precision", DbType.Double);

            Assert.True(typeMapping.Comparer.Equals(3.0, 3.0));
            Assert.True(typeMapping.Comparer.Equals(double.NaN, double.NaN));
            Assert.False(typeMapping.Comparer.Equals(3.0, double.NaN));
        }
        public virtual void GenerateSqlLiteral_for_Double_works_for_range_limits()
        {
            var typeMapping = new DoubleTypeMapping("double", DbType.Double);
            var literal     = typeMapping.GenerateSqlLiteral(double.MinValue);

            Assert.Equal("-1.7976931348623157E+308", literal);

            literal = typeMapping.GenerateSqlLiteral(double.MaxValue);
            Assert.Equal("1.7976931348623157E+308", literal);
        }
        public virtual void Double_literal_generated_correctly()
        {
            var typeMapping = new DoubleTypeMapping("double", DbType.Double);

            Test_GenerateSqlLiteral_helper(typeMapping, double.NaN, "NaN");
            Test_GenerateSqlLiteral_helper(typeMapping, double.PositiveInfinity, "Infinity");
            Test_GenerateSqlLiteral_helper(typeMapping, double.NegativeInfinity, "-Infinity");
            Test_GenerateSqlLiteral_helper(typeMapping, double.MinValue, "-1.7976931348623157E+308");
            Test_GenerateSqlLiteral_helper(typeMapping, double.MaxValue, "1.7976931348623157E+308");
        }
        public virtual void GenerateSqlLiteral_for_Double_works_for_special_values()
        {
            var typeMapping = new DoubleTypeMapping("double", DbType.Double);
            var literal     = typeMapping.GenerateSqlLiteral(double.NaN);

            Assert.Equal("NaN", literal);

            literal = typeMapping.GenerateSqlLiteral(double.PositiveInfinity);
            Assert.Equal("Infinity", literal);

            literal = typeMapping.GenerateSqlLiteral(double.NegativeInfinity);
            Assert.Equal("-Infinity", literal);
        }