// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information. namespace System.Data.Entity.Infrastructure { using System.Data.Entity.Internal; using Xunit; /// /// Unit tests for and . /// public class DbSqlQueryTests : TestBase { [Fact] public void Generic_DbSqlQuery_AsNoTracking_returns_new_object_with_no_tracking_flag_set() { var query = new DbSqlQuery(MockHelper.CreateInternalSqlSetQuery("query", false, false, 1, 2)); DynamicNoTrackingTest(query); } [Fact] public void Non_generic_DbSqlQuery_AsNoTracking_returns_new_object_with_no_tracking_flag_set() { var query = new DbSqlQuery(MockHelper.CreateInternalSqlSetQuery("query", false, false, 1, 2)); DynamicNoTrackingTest(query); } private void DynamicNoTrackingTest(dynamic query) { Assert.False(((InternalSqlSetQuery)query.InternalQuery).IsNoTracking); var noTrackingQuery = query.AsNoTracking(); Assert.NotSame(query, noTrackingQuery); var internalQuery = (InternalSqlSetQuery)noTrackingQuery.InternalQuery; Assert.True(internalQuery.IsNoTracking); Assert.Equal("query", internalQuery.Sql); Assert.Equal(2, internalQuery.Parameters.Length); Assert.Equal(1, internalQuery.Parameters[0]); Assert.Equal(2, internalQuery.Parameters[1]); } } }