Exemplo n.º 1
0
        public void Initialize()
        {
            if (Settings.Instance == null)
            {
                Settings.Initialize(b => { b.Scheme = "tst"; });
            }

            this._uriResolvedObjectHolder    = Substitute.For <IUriResolvedObjectHolder>();
            this._uriResolutionCustomization = Substitute.For <IUriResolutionCustomization>();
            this._uriModuleItemResolver      = Substitute.For <IUriModuleItemResolver>();
            this._resolveSetupFactory        = Substitute.For <IResolveSetupFactory>();
            this._traceListener      = Substitute.For <TraceListener>();
            this._uriDisconnectTable = Substitute.For <IUriDisconnectTable>();

            IUriModuleItemResolver uriModuleResolverStub;
            var uriModuleResolverIndex = Substitute.For <IIndex <UriModuleItemResolverKey, IUriModuleItemResolver> >();

            uriModuleResolverIndex
            .TryGetValue(new UriModuleItemResolverKey("module", "item"), out uriModuleResolverStub)
            .Returns(
                x =>
            {
                x[1] = this._uriModuleItemResolver;
                return(true);
            });

            var anyPlacementResolver = Substitute.For <IUriPlacementResolver>();

            anyPlacementResolver.Resolve(null, null, null).ReturnsForAnyArgs(Substitute.For <IUriPlacementConnector>());

            this._uriResolutionCustomization.ModuleItemResolvers.Returns(uriModuleResolverIndex);
            this._uriResolutionCustomization.PlacementResolvers.Returns(Enumerable.Repeat(anyPlacementResolver, 1));

            Trace.Listeners.Add(this._traceListener);
        }
Exemplo n.º 2
0
        public void ExposesUriModuleItemResolversInUriResolutionCustomization()
        {
            var shell            = this.CreateShell();
            var expectedResolver = Substitute.For <IUriModuleItemResolver>();

            shell.AddUriModuleItemResolver(new UriModuleItemResolverKey("module", "item"), expectedResolver);

            IUriModuleItemResolver actualResolver1 = null;

            shell.ModuleItemResolvers.TryGetValue(new UriModuleItemResolverKey("othermodule", "otheritem"), out actualResolver1);
            Assert.IsNull(actualResolver1);

            IUriModuleItemResolver actualResolver2 = null;

            shell.ModuleItemResolvers.TryGetValue(new UriModuleItemResolverKey("module", "item"), out actualResolver2);
            Assert.AreEqual(expectedResolver, actualResolver2);
        }
Exemplo n.º 3
0
 /// <summary>
 /// Adds the given <see cref="IUriModuleItemResolver"/> as an object resolver by the given key.
 /// </summary>
 /// <param name="key">Key for access to the <see cref="IUriModuleItemResolver"/> being added.</param>
 /// <param name="uriModuleItemResolver">The <see cref="IUriModuleItemResolver"/> being added.</param>
 public void AddUriModuleItemResolver(UriModuleItemResolverKey key, IUriModuleItemResolver uriModuleItemResolver)
 {
     this._uriModuleItemResolvers.Add(key, uriModuleItemResolver);
 }
Exemplo n.º 4
0
 public void AddUriModuleItemResolver(UriModuleItemResolverKey key, IUriModuleItemResolver uriModuleItemResolver)
 {
     Contract.Requires <ArgumentNullException>(key != null);
     Contract.Requires <ArgumentNullException>(uriModuleItemResolver != null);
 }