예제 #1
0
            public void AllParams_ReturnsProperlyQuoted()
            {
                TestDialect dialect = GetDialect();
                string      result  = dialect.GetColumnName("bar", "foo", "al");

                Assert.AreEqual("\"bar\".\"foo\" AS \"al\"", result);
            }
예제 #2
0
            public void ContainsQuotes_DoesNotAddExtraQuotes()
            {
                TestDialect dialect = GetDialect();
                string      result  = dialect.GetColumnName("\"bar\"", "\"foo\"", "\"al\"");

                Assert.AreEqual("\"bar\".\"foo\" AS \"al\"", result);
            }
예제 #3
0
            public void PrefixColumnName_ReturnsProperlyQuoted()
            {
                TestDialect dialect = GetDialect();
                string      result  = dialect.GetColumnName("bar", "foo", null);

                Assert.AreEqual("\"bar\".\"foo\"", result);
            }
예제 #4
0
            public void TableNameOnly_ReturnsProperlyQuoted()
            {
                TestDialect dialect = GetDialect();
                string      result  = dialect.GetTableName(null, "foo", null);

                Assert.AreEqual("\"foo\"", result);
            }
예제 #5
0
            public void SchemaAndTable_ReturnsProperlyQuoted()
            {
                TestDialect dialect = GetDialect();
                string      result  = dialect.GetTableName("bar", "foo", null);

                Assert.AreEqual("\"bar\".\"foo\"", result);
            }
        public void CanQueryByDateTimeOffsetUtcNow()
        {
            if (!TestDialect.SupportsSqlType(SqlTypeFactory.DateTimeOffSet))
            {
                Assert.Ignore("Dialect does not support DateTimeOffSet");
            }

            var isSupported = IsFunctionSupported("current_utctimestamp_offset");

            RunTest(
                isSupported,
                spy =>
            {
                var testDate = DateTimeOffset.UtcNow.AddDays(-1);
                var x        = db.Orders.Count(o => testDate < DateTimeOffset.UtcNow);

                Assert.That(x, Is.GreaterThan(0));
                AssertFunctionInSql("current_utctimestamp_offset", spy);
            });
        }
        public void CanQueryByNewGuid()
        {
            if (!TestDialect.SupportsSqlType(SqlTypeFactory.Guid))
            {
                Assert.Ignore("Guid are not supported by the target database");
            }

            var isSupported = IsFunctionSupported("new_uuid");

            RunTest(
                isSupported,
                spy =>
            {
                var guid = Guid.NewGuid();
                var x    = db.Orders.Count(o => guid != Guid.NewGuid());

                Assert.That(x, Is.GreaterThan(0));
                AssertFunctionInSql("new_uuid", spy);
            });
        }
        public void CanSelectNewGuid()
        {
            if (!TestDialect.SupportsSqlType(SqlTypeFactory.Guid))
            {
                Assert.Ignore("Guid are not supported by the target database");
            }

            var isSupported = IsFunctionSupported("new_uuid");

            RunTest(
                isSupported,
                spy =>
            {
                var x =
                    db
                    .Orders.Select(o => new { id = o.OrderId, g = Guid.NewGuid() })
                    .OrderBy(o => o.id).Take(1).ToList();

                Assert.That(x, Has.Count.GreaterThan(0));
                AssertFunctionInSql("new_uuid", spy);
            });
        }
        public void CanSelectDateTimeOffsetUtcNow()
        {
            if (!TestDialect.SupportsSqlType(SqlTypeFactory.DateTimeOffSet))
            {
                Assert.Ignore("Dialect does not support DateTimeOffSet");
            }

            var isSupported = IsFunctionSupported("current_utctimestamp_offset");

            RunTest(
                isSupported,
                spy =>
            {
                var x =
                    db
                    .Orders.Select(o => new { id = o.OrderId, d = DateTimeOffset.UtcNow })
                    .OrderBy(o => o.id).Take(1).ToList();

                Assert.That(x, Has.Count.GreaterThan(0));
                Assert.That(x[0].d.Offset, Is.EqualTo(TimeSpan.Zero));
                AssertFunctionInSql("current_utctimestamp_offset", spy);
            });
        }
예제 #10
0
 protected override bool AppliesTo(Dialect.Dialect dialect)
 {
     return(TestDialect.GetTestDialect(dialect).SupportsDistributedTransactions);
 }
 public void Setup()
 {
     Dialect = new TestDialect();
 } 
예제 #12
0
 protected override bool AppliesTo(Dialect.Dialect dialect)
 {
     return(TestDialect.GetTestDialect(dialect).SupportsFullJoin);
 }
예제 #13
0
            public void IsQuoted_WithQuotes_ReturnsTrue()
            {
                TestDialect dialect = GetDialect();

                Assert.IsTrue(dialect.IsQuoted("\"foo\""));
            }
예제 #14
0
 public void Setup()
 {
     Dialect = new TestDialect();
 }
 protected SqlDialectBaseFixtureBase()
 {
     Dialect = new TestDialect();
 }
예제 #16
0
            public void EmptyTableName_ReturnsProperlyQuoted()
            {
                TestDialect dialect = GetDialect();

                Assert.Throws <ArgumentNullException>(() => dialect.GetTableName(null, string.Empty, null));
            }
예제 #17
0
            public void QuoteString_WithBothQuote_DoesNotAddQuotes()
            {
                TestDialect dialect = GetDialect();

                Assert.AreEqual("\"foo\"", dialect.QuoteString("\"foo\""));
            }
예제 #18
0
            public void QuoteString_WithCloseQuote_AddsQuotes()
            {
                TestDialect dialect = GetDialect();

                Assert.AreEqual("\"foo\"\"", dialect.QuoteString("foo\""));
            }
예제 #19
0
            public void IsQuoted_WithOnlyCloseQuotes_ReturnsFalse()
            {
                TestDialect dialect = GetDialect();

                Assert.IsFalse(dialect.IsQuoted("foo\""));
            }
예제 #20
0
            public void IsQuoted_WithOnlyStartQuotes_ReturnsFalse()
            {
                TestDialect dialect = GetDialect();

                Assert.IsFalse(dialect.IsQuoted("\"foo"));
            }
 protected override bool AppliesTo(Dialect.Dialect dialect) =>
 TestDialect.SupportsSqlType(SqlTypeFactory.DateTimeOffSet);
예제 #22
0
 public SqlDialectBaseFixtureBase()
 {
     Dialect = new TestDialect();
 }
예제 #23
0
 protected override bool AppliesTo(Dialect.Dialect dialect)
 {
     return(TestDialect.SupportsSqlType(new SqlType(DbType.Xml)));
 }
예제 #24
0
            public void NullColumnName_ReturnsProperlyQuoted()
            {
                TestDialect dialect = GetDialect();

                Assert.Throws <ArgumentNullException>(() => dialect.GetColumnName(null, null, null));
            }