Пример #1
0
        public void Test_OpenDiagramEditor_Closed()
        {
            // Arrange.
            var diagram = new Diagram {
                File = testDiagramFile
            };
            var diagramPreview = new PreviewDiagramViewModel(diagram);

            var editor = new Mock <IDiagramEditor>();

            editor.SetupGet(e => e.Diagram).Returns(diagram);

            var diagramManager = CreateManager(d => editor.Object);

            diagramManager.OpenDiagramCommand.Execute(diagramPreview);

            DiagramClosedEventArgs closedArgs = null;

            diagramManager.DiagramClosed += (o, e) => closedArgs = e;

            // Act.
            editor.Raise(e => e.Closed += null, EventArgs.Empty);

            // Assert.
            Assert.Empty(diagramManager.OpenDiagrams);
            editor.Verify(e => e.SaveAsync(), Times.Never());
            editor.Verify(e => e.Dispose());
            Assert.NotNull(closedArgs);
            Assert.Equal(diagram, closedArgs.Diagram);
        }
Пример #2
0
        private void diagramManager_DiagramClosed(object sender, DiagramClosedEventArgs e)
        {
            _settings.RecentFiles.Add(e.Diagram.File);

            _settings.OpenFiles.FirstOrNone(file => fileComparer.Equals(file, e.Diagram.File)).Apply(file =>
                                                                                                     _settings.OpenFiles.Remove(file));
        }