Exemple #1
0
        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));
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
            }
        }