示例#1
0
        public void CanApplyUnsupportedSPI()
        {
            MockSP sp = new MockSP();

            workspace.Show(sp);
            workspace.ApplySmartPartInfo(sp, new SmartPartInfo());
        }
示例#2
0
        public void ThrowsIfActiveSmartPartSetNotShown()
        {
            MockSP sp1 = new MockSP();

            workspace.Show(sp1);

            workspace.SetActiveSmartPart(new MockSP());
        }
示例#3
0
        public void ThrowsIfActiveSmartPartNotCompatible()
        {
            MockSP sp1 = new MockSP();

            workspace.Show(sp1);

            workspace.SetActiveSmartPart(new object());
        }
示例#4
0
        public void WorkspaceRemembersActiveSP()
        {
            MockSP sp = new MockSP();

            workspace.Show(sp);
            workspace.Activate(sp);

            Assert.AreSame(sp, workspace.ActiveSmartPart);
        }
示例#5
0
        public void ApplyCallsApplySPIDerived()
        {
            MockSP sp = new MockSP();

            workspace.Show(sp);

            workspace.ApplySmartPartInfo(sp, new MockSPI());

            Assert.AreEqual(1, workspace.ApplySPICalls);
        }
示例#6
0
        public void ActivateEventCallsRaiseOnComposedWorkspace()
        {
            MockSP sp = new MockSP();

            composer.Show(sp);

            composer.Activate(sp);

            Assert.AreEqual(1, workspace.RaiseSmartPartActivatedCalls);
        }
示例#7
0
        public void CloseCallsComposedWorkspace()
        {
            MockSP sp = new MockSP();

            composer.Show(sp);

            composer.Close(sp);

            Assert.AreEqual(1, workspace.OnCloseCalls);
        }
示例#8
0
        public void ActivateCallsComposedWorkspace()
        {
            MockSP sp = new MockSP();

            composer.Show(sp);

            composer.Activate(sp);

            Assert.AreEqual(1, workspace.OnActivateCalls);
        }
示例#9
0
        public void ApplyDoesNotActivate()
        {
            MockSP sp = new MockSP();

            workspace.Show(sp);

            workspace.ApplySmartPartInfo(sp, new MockSPI());

            Assert.AreEqual(0, workspace.ActivateCalls);
        }
示例#10
0
        public void ClosingEventCallsRaiseOnComposedWorkspace()
        {
            MockSP sp = new MockSP();

            composer.Show(sp);

            composer.Close(sp);

            Assert.AreEqual(1, workspace.RaiseSmartPartClosingCalls);
        }
示例#11
0
        public void HideCallsHideDerived()
        {
            MockSP sp = new MockSP();

            workspace.Show(sp);

            workspace.Hide(sp);

            Assert.AreEqual(1, workspace.HideCalls);
        }
示例#12
0
        public void CloseCallsCloseDerived()
        {
            MockSP sp = new MockSP();

            workspace.Show(sp);

            workspace.Close(sp);

            Assert.AreEqual(1, workspace.CloseCalls);
        }
示例#13
0
        public void CloseResetsActiveSmartPartIfClosingActiveSmartPart()
        {
            MockSP sp = new MockSP();

            workspace.Show(sp);
            workspace.Activate(sp);

            workspace.Close(sp);

            Assert.IsNull(workspace.ActiveSmartPart);
        }
示例#14
0
        public void CloseRemovesFromSmartPartsDictionary()
        {
            MockSP sp = new MockSP();

            workspace.Show(sp);
            workspace.Show(new MockSP());

            workspace.Close(sp);

            Assert.AreEqual(1, workspace.SmartParts.Count);
        }
示例#15
0
        public void CancellingClosingEventDoesNotCallCloseOnComposedWorkspace()
        {
            MockSP sp = new MockSP();

            composer.Show(sp);
            workspace.SmartPartClosing += delegate(object sender, WorkspaceCancelEventArgs e) { e.Cancel = true; };

            composer.Close(sp);

            Assert.AreEqual(0, workspace.OnCloseCalls);
        }
示例#16
0
        public void DerivedOnCloseCalledIfClosingNotCancelled()
        {
            MockSP sp = new MockSP();

            workspace.Show(sp);
            workspace.SmartPartClosing += delegate(object sender, WorkspaceCancelEventArgs e) { e.Cancel = true; };

            workspace.Close(sp);

            Assert.AreEqual(0, workspace.CloseCalls);
        }
示例#17
0
        public void HideResetsActiveSmartPartIfHidingActiveSmartPart()
        {
            MockSP sp = new MockSP();

            workspace.Show(sp);
            workspace.Activate(sp);

            workspace.Hide(sp);

            Assert.IsNull(workspace.ActiveSmartPart);
        }
示例#18
0
        public void CloseFiresSmartPartClosingEvent()
        {
            bool   eventCalled = false;
            MockSP sp          = new MockSP();

            workspace.Show(sp);
            workspace.SmartPartClosing += delegate { eventCalled = true; };

            workspace.Close(sp);

            Assert.IsTrue(eventCalled);
        }
示例#19
0
        public void DerivedCanSetActiveSmartPart()
        {
            MockSP sp1 = new MockSP();
            MockSP sp2 = new MockSP();

            workspace.Show(sp1);
            workspace.Show(sp2);

            workspace.SetActiveSmartPart(sp1);

            Assert.AreSame(sp1, workspace.ActiveSmartPart);
        }
示例#20
0
        public void ShowWithGenericSPIRegisteredCallsConvertToConcreteType()
        {
            MockSP sp = new MockSP();

            workItem.RegisterSmartPartInfo(sp, new SmartPartInfo("foo", "bar"));

            workspace.Show(sp);

            Assert.AreEqual(1, workspace.ConvertCalls);
            Assert.AreEqual("foo", workspace.LastSPI.Title);
            Assert.AreEqual("bar", workspace.LastSPI.Description);
        }
示例#21
0
        public void ActivateFiresActivateEvent()
        {
            bool   eventCalled = false;
            MockSP sp          = new MockSP();

            workspace.Show(sp);
            workspace.SmartPartActivated += delegate { eventCalled = true; };

            workspace.Activate(sp);

            Assert.IsTrue(eventCalled);
        }
示例#22
0
        public void DerivedCanSetActiveSmartPartNull()
        {
            MockSP sp1 = new MockSP();
            MockSP sp2 = new MockSP();

            workspace.Show(sp1);
            workspace.Show(sp2);

            workspace.SetActiveSmartPart(null);

            Assert.IsNull(workspace.ActiveSmartPart);
        }
示例#23
0
        public void ActivateCallsActivateDerived()
        {
            MockSP sp = new MockSP();

            workspace.Show(sp);

            workspace.Activate(sp);

            Assert.AreEqual(1, workspace.ShowCalls);
            Assert.AreEqual(1, workspace.ActivateCalls);
            Assert.AreEqual(0, workspace.ApplySPICalls);
        }
示例#24
0
        public void HideDoesNotResetsActiveSmartPartIfHidingNonActiveSmartPart()
        {
            MockSP sp  = new MockSP();
            MockSP sp1 = new MockSP();

            workspace.Show(sp);
            workspace.Show(sp1);
            workspace.Activate(sp1);

            workspace.Hide(sp);

            Assert.AreSame(workspace.ActiveSmartPart, sp1);
        }
示例#25
0
        public void CallingActivateOnActiveSmartPartDoesNotCallDerivedOrFireEvent()
        {
            int    eventCalls = 0;
            MockSP sp         = new MockSP();

            workspace.Show(sp);
            workspace.SmartPartActivated += delegate { eventCalls++; };

            workspace.Activate(sp);
            workspace.Activate(sp);

            Assert.AreEqual(1, eventCalls);
        }
示例#26
0
        public void CloseDoesNotResetsActiveSmartPartIfClosingNonActiveSmartPart()
        {
            MockSP sp  = new MockSP();
            MockSP sp1 = new MockSP();

            workspace.Show(sp);
            workspace.Show(sp1);
            workspace.Activate(sp1);

            workspace.Close(sp);

            Assert.IsNotNull(workspace.ActiveSmartPart);
            Assert.AreSame(workspace.ActiveSmartPart, sp1);
        }
示例#27
0
        public void ShowTwiceActivatesButNotShowsOrAppliesInfo()
        {
            MockSP sp = new MockSP();

            workspace.Show(sp);
            Assert.AreEqual(1, workspace.ShowCalls);
            Assert.AreEqual(0, workspace.ActivateCalls);

            workspace.Show(sp);

            Assert.AreEqual(1, workspace.ShowCalls);
            Assert.AreEqual(1, workspace.ActivateCalls);
            Assert.AreEqual(0, workspace.ApplySPICalls);
        }
示例#28
0
        public void ShowTwiceWithSPIActivatesAndAppliesInfoButNotShows()
        {
            MockSP sp = new MockSP();

            workspace.Show(sp);
            Assert.AreEqual(1, workspace.ShowCalls);
            Assert.AreEqual(0, workspace.ActivateCalls);

            workspace.Show(sp, new MockSPI());

            Assert.AreEqual(1, workspace.ShowCalls);
            Assert.AreEqual(1, workspace.ActivateCalls);
            Assert.AreEqual(1, workspace.ApplySPICalls);
        }
示例#29
0
        public void SmartPartShowInChildWorkItemParentWorkspaceUsesChildSmartPartInfo()
        {
            WorkItem workItemA = new TestableRootWorkItem();
            WorkItem workItemB = workItemA.WorkItems.AddNew <WorkItem>();
            MockSP   sp        = new MockSP();
            MockSPI  spi       = new MockSPI("Title", "Description");

            MockWorkspace workspace = workItemA.Workspaces.AddNew <MockWorkspace>();

            workItemB.RegisterSmartPartInfo(sp, spi);

            workspace.Show(sp);

            Assert.AreSame(spi, workspace.LastSPI);
        }
示例#30
0
        public void SmartPartInfoIsRemovedWhenChildWorkItemIsDisposed()
        {
            WorkItem workItemA = new TestableRootWorkItem();
            WorkItem workItemB = workItemA.WorkItems.AddNew <WorkItem>();
            MockSP   sp        = new MockSP();
            MockSPI  spi       = new MockSPI("Title", "Description");

            MockWorkspace workspace = workItemA.Workspaces.AddNew <MockWorkspace>();

            workItemB.RegisterSmartPartInfo(sp, spi);

            workItemB.Dispose();

            workspace.Show(sp);

            Assert.IsFalse(spi == workspace.LastSPI);
        }