Example #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="LayoutDesignerPresenter"/> class.
        /// </summary>
        /// <param name="container">The unity container used to inject dependencies.</param>
        /// <param name="view">The view being controlled by the presenter.</param>
        /// <param name="manager">The team project document manager to be used.</param>
        /// <param name="ribbonPresenter">The team ribbon presenter.</param>
        public LayoutDesignerPresenter(IUnityContainer container, ILayoutDesignerView view, ITeamProjectDocumentManager manager, ITeamRibbonPresenter ribbonPresenter)
        {
            if (view == null)
            {
                throw new ArgumentNullException("view");
            }

            if (manager == null)
            {
                throw new ArgumentNullException("manager");
            }

            if (ribbonPresenter == null)
            {
                throw new ArgumentNullException("ribbonPresenter");
            }

            this.container       = container;
            this.view            = view;
            this.manager         = manager;
            this.ribbonPresenter = ribbonPresenter;

            this.ribbonPresenter.LayoutDesignerView = view;
            this.view.Save                   += new EventHandler(this.HandleSave);
            this.view.Connect                += new EventHandler(this.HandleConnect);
            this.view.AddField               += new EventHandler <FieldDefinitionEventArgs>(this.HandleAddField);
            this.view.LayoutSelected         += new EventHandler <LayoutItemEventArgs>(this.HandleLayoutSelected);
            this.view.AddNewLayout           += new EventHandler(this.HandleAddNewLayout);
            this.view.LayoutRename           += new EventHandler <RenameEventArgs>(this.HandleLayoutRename);
            this.view.LayoutDelete           += new EventHandler <LayoutItemEventArgs>(this.HandleLayoutDelete);
            this.manager.DocumentBeforeClose += new CancelEventHandler(this.HandleDocumentBeforeClose);
        }
        public void InitializeTest()
        {
            this.rebindCallbackCalled = false;
            this.container            = new UnityContainer();

            this.mockRibbon = TestHelper.CreateAndRegisterMock <ITeamRibbonView>(this.container);
            this.mockRibbon.SetupAllProperties();
            this.mockDocumentManager = TestHelper.CreateAndRegisterMock <ITeamProjectDocumentManager>(this.container);
            this.mockDocument        = new Mock <ITeamProjectDocument>();
            this.mockSystemTemplate  = new Mock <ITeamProjectTemplate>();
            this.mockMessageBoxView  = TestHelper.CreateAndRegisterMock <IMessageBoxView>(this.container);
            this.mockSettings        = TestHelper.CreateAndRegisterMock <ISettings>(this.container);

            this.mockSettings.Setup(s => s.ShowBookmarks).Returns(true);

            this.sut = this.container.Resolve <TeamRibbonPresenter>();
            this.sut.Initialise(() =>
            {
                this.rebindCallbackCalled = true;
                return(null);
            });
        }
        public void TeamRibbonPresenterConstructorThrowsExceptionIfNullModelIsPassed()
        {
            Mock <ITeamRibbonView> view = new Mock <ITeamRibbonView>();

            TestHelper.TestForArgumentNullException(() => this.sut = new TeamRibbonPresenter(this.container, view.Object, null, this.mockSettings.Object), "model");
        }
        public void TeamRibbonPresenterConstructorThrowsExceptionIfNullSettingsIsPassed()
        {
            Mock <ITeamRibbonView> view = new Mock <ITeamRibbonView>();

            TestHelper.TestForArgumentNullException(() => this.sut = new TeamRibbonPresenter(this.container, view.Object, this.mockDocumentManager.Object, null), "settings");
        }
 public void TeamRibbonPresenterConstructorThrowsExceptionIfNullViewIsPassed()
 {
     TestHelper.TestForArgumentNullException(() => this.sut = new TeamRibbonPresenter(this.container, null, this.mockDocumentManager.Object, this.mockSettings.Object), "ribbon");
 }