public void ConventionBasedPresenterDiscoveryStrategy_GetBindings_ReturnsAsSoonAsPresenterTypeIsFound() { // Arrange var presenter = MockRepository.GenerateStub <IPresenter <IView> >(); var buildManager = MockRepository.GenerateStub <IBuildManager>(); var callCount = 0; buildManager.Stub(b => b.GetType(Arg <string> .Is.Anything, Arg <bool> .Is.Equal(false))) .WhenCalled(mi => { callCount++; mi.ReturnValue = presenter.GetType(); // Find on the first one }) .Return(presenter.GetType()); var hosts = new[] { new object() }; var views = new List <IView> { MockRepository.GenerateStub <IView>() }; var strategy = new ConventionBasedPresenterDiscoveryStrategy(buildManager); // Act strategy.GetBindings(hosts, views); // Assert Assert.IsTrue(strategy.CandidatePresenterTypeFullNameFormats.Count() > 1); Assert.AreEqual(1, callCount); }
public void Get_Binding_When_Both_Binding_Mechansims_Used() { // Arrange var strategy = new ConventionBasedPresenterDiscoveryStrategy(); IView <CreateTaskModel> createTaskView = new CreateTaskView(); //Act var actualBinding = strategy.GetBinding(createTaskView); // Assert Assert.IsTrue(actualBinding.Bindings.Any()); Assert.IsTrue(actualBinding.Bindings.First().PresenterType == typeof(CreateTaskPresenter)); }
public void GetBinding_When_Valid_View_Passed_In() { // Arrange var strategy = new ConventionBasedPresenterDiscoveryStrategy(); IView <CreateProjectModel> mainView = new CreateProjectForm(); // Act var actualBinding = strategy.GetBinding(mainView); // Assert Assert.IsTrue(actualBinding.Bindings.Any()); Assert.IsTrue(actualBinding.Bindings.First().PresenterType == typeof(CreateProjectPresenter)); }
public void ConventionBasedPresenterDiscoveryStrategy_GetBindings_DoesNotThrowExceptionWhenNoPresenterTypeFound() { // Arrange var buildManager = MockRepository.GenerateStub <IBuildManager>(); buildManager.Stub(b => b.GetType(Arg <string> .Is.Anything, Arg <bool> .Is.Equal(false))) .Return(null); var hosts = new[] { new object() }; var views = new List <IView> { MockRepository.GenerateStub <IView>() }; var strategy = new ConventionBasedPresenterDiscoveryStrategy(buildManager); // Act strategy.GetBindings(hosts, views); }
public void ConventionBasedPresenterDiscoveryStrategy_GetBindings_FindsPresenterTypeFromBuildManager() { // Arrange var presenter = MockRepository.GenerateStub <IPresenter <IView> >(); var buildManager = MockRepository.GenerateStub <IBuildManager>(); buildManager.Stub(b => b.GetType(Arg <string> .Is.Anything, Arg <bool> .Is.Equal(false))) .Return(presenter.GetType()); var hosts = new[] { new object() }; var views = new List <IView> { MockRepository.GenerateStub <IView>() }; var strategy = new ConventionBasedPresenterDiscoveryStrategy(buildManager); // Act var result = strategy.GetBindings(hosts, views); // Assert Assert.AreEqual(presenter.GetType(), result.First().Bindings.First().PresenterType); }
public void ConventionBasedPresenterDiscoveryStrategy_GetBindings_ShouldGuardNullViewInstances() { // Arrange var buildManager = MockRepository.GenerateStub <IBuildManager>(); var strategy = new ConventionBasedPresenterDiscoveryStrategy(buildManager); try { // Act strategy.GetBindings(new object[0], null); // Assert Assert.Fail("Expected exception not thrown"); } catch (ArgumentNullException ex) { // Assert Assert.AreEqual("viewInstances", ex.ParamName); } }