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)); } }); }