internal DbProviderServices(Func <IDbDependencyResolver> resolver, DbCommandTreeDispatcher treeDispatcher) { Check.NotNull(resolver, "resolver"); DebugCheck.NotNull(treeDispatcher); _resolver = new Lazy <IDbDependencyResolver>(resolver); _treeDispatcher = treeDispatcher; }
internal DbProviderServices(Func<IDbDependencyResolver> resolver, DbCommandTreeDispatcher treeDispatcher) { Check.NotNull(resolver, "resolver"); DebugCheck.NotNull(treeDispatcher); _resolver = new Lazy<IDbDependencyResolver>(resolver); _treeDispatcher = treeDispatcher; }
public void Created_dispatches_to_interceptors_which_can_modify_result() { var interceptionContext = new DbInterceptionContext(); var tree = new Mock<DbCommandTree>().Object; var mockInterceptor = new Mock<IDbCommandTreeInterceptor>(); var interceptedTree = new Mock<DbCommandTree>().Object; mockInterceptor.Setup(m => m.TreeCreated(tree, interceptionContext)).Returns(interceptedTree); var dispatcher = new DbCommandTreeDispatcher(); var internalDispatcher = dispatcher.InternalDispatcher; internalDispatcher.Add(mockInterceptor.Object); Assert.Same(interceptedTree, dispatcher.Created(tree, interceptionContext)); mockInterceptor.Verify(m => m.TreeCreated(tree, interceptionContext)); }
public void Dispatches_to_interception() { var dispatcher = new DbCommandTreeDispatcher(); var mockCommandTreeInterceptor = new Mock <IDbCommandTreeInterceptor>(); dispatcher.InternalDispatcher.Add(mockCommandTreeInterceptor.Object); var providerServices = new Mock <DbProviderServices>( (Func <IDbDependencyResolver>)(() => new Mock <IDbDependencyResolver>().Object), new Lazy <DbCommandTreeDispatcher>(() => dispatcher)) { CallBase = true }.Object; var mockCommandTree = new Mock <DbCommandTree> { DefaultValue = DefaultValue.Mock }; mockCommandTree.SetupGet(m => m.DataSpace).Returns(DataSpace.SSpace); var mockStoreItemCollection = new Mock <StoreItemCollection> { DefaultValue = DefaultValue.Mock }; mockCommandTree .Setup(m => m.MetadataWorkspace.GetItemCollection(DataSpace.SSpace)) .Returns(mockStoreItemCollection.Object); var commandTree = mockCommandTree.Object; providerServices.CreateCommandDefinition(commandTree); mockCommandTreeInterceptor.Verify( m => m.TreeCreated( It.Is <DbCommandTreeInterceptionContext>(c => c.Result == commandTree && c.OriginalResult == commandTree)), Times.Once()); }
public void Dispatches_to_interception() { var dispatcher = new DbCommandTreeDispatcher(); var mockCommandTreeInterceptor = new Mock<IDbCommandTreeInterceptor>(); dispatcher.InternalDispatcher.Add(mockCommandTreeInterceptor.Object); var providerServices = new Mock<DbProviderServices>( (Func<IDbDependencyResolver>)(() => new Mock<IDbDependencyResolver>().Object), dispatcher) { CallBase = true }.Object; var mockCommandTree = new Mock<DbCommandTree> { DefaultValue = DefaultValue.Mock }; mockCommandTree.SetupGet(m => m.DataSpace).Returns(DataSpace.SSpace); var mockStoreItemCollection = new Mock<StoreItemCollection> { DefaultValue = DefaultValue.Mock }; mockCommandTree .Setup(m => m.MetadataWorkspace.GetItemCollection(DataSpace.SSpace)) .Returns(mockStoreItemCollection.Object); providerServices.CreateCommandDefinition(mockCommandTree.Object); mockCommandTreeInterceptor.Verify(m => m.TreeCreated(mockCommandTree.Object, It.IsAny<DbInterceptionContext>()), Times.Once()); }