Exemple #1
0
        public void ConventionBasedPresenterDiscoveryStrategy_GetBindings_UsesCandidatePresenterNameFormatsWhenOverridden()
        {
            // Arrange
            var buildManager = MockRepository.GenerateStub <IBuildManager>();
            var namesUsed    = new List <string>();

            buildManager.Stub(b => b.GetType(Arg <string> .Is.Anything, Arg <bool> .Is.Equal(false)))
            .WhenCalled(mi =>
            {
                namesUsed.Add((string)mi.Arguments[0]);
                mi.ReturnValue = null;     // return null to force it to look through all candidat names
            })
            .Return(null);
            var hosts = new[] { new object() };
            var views = new List <IView> {
                MockRepository.GenerateStub <IView>()
            };
            var strategy = new DerivedConventionBasedPresenterDiscoveryStrategy(buildManager)
            {
                NamesToUse = new[] { "Foo", "Bar" }
            };

            // Act
            strategy.GetBindings(hosts, views);

            // Assert
            foreach (var name in strategy.NamesToUse)
            {
                Assert.IsTrue(namesUsed.Any(n => n.IndexOf(name, StringComparison.OrdinalIgnoreCase) >= 0));
            }
        }
        public void ConventionBasedPresenterDiscoveryStrategy_GetBindings_UsesCandidatePresenterNameFormatsWhenOverridden()
        {
            TestHelper.Isolate(TestContext, () =>
            {

                // Arrange
                var presenter = MockRepository.GenerateStub<IPresenter<IView>>();
                var buildManager = MockRepository.GenerateStub<IBuildManager>();
                var namesUsed = new List<string>();
                buildManager.Stub(b => b.GetType(Arg<string>.Is.Anything, Arg<bool>.Is.Equal(false)))
                    .WhenCalled(mi =>
                    {
                        namesUsed.Add((string)mi.Arguments[0]);
                        mi.ReturnValue = null; // return null to force it to look through all candidat names
                    })
                    .Return(null);
                var hosts = new[] { new object() };
                var views = new List<IView> { MockRepository.GenerateStub<IView>() };
                var strategy = new DerivedConventionBasedPresenterDiscoveryStrategy(buildManager);
                strategy.NamesToUse = new[] { "Foo", "Bar" };

                // Act
                strategy.GetBindings(hosts, views);

                // Assert
                foreach (var name in strategy.NamesToUse)
                {
                    Assert.IsTrue(namesUsed.Any(n => n.IndexOf(name, StringComparison.OrdinalIgnoreCase) >= 0));
                }
            });
        }