コード例 #1
0
        public void ProcessNewDiagnoseOutputEntry_NewEntryWithExistingProcessId_AddsNewEntryAndNoNewProcess()
        {
            var mock = new Mock<IDiagnoseOutputEntry>();
            mock.Setup(x => x.ProcessId).Returns(1234);
            mock.Setup(x => x.ThreadNumber).Returns(1);
            mock.Setup(x => x.Type).Returns(DiagnoseType.SingleOutput);
            mock.Setup(x => x.Duration).Returns(2);
            mock.Setup(x => x.Gap).Returns(3);

            var sequenceDiagramViewModel = new SequenceDiagramViewModel();
            sequenceDiagramViewModel.ProcessNewDiagnoseOutputEntry(mock.Object);
            sequenceDiagramViewModel.ProcessNewDiagnoseOutputEntry(mock.Object);

            sequenceDiagramViewModel.Processes.Count.Should().Be(1);
            sequenceDiagramViewModel.Processes.Should().Contain(x => x.ProcessId == 1234);
        }
コード例 #2
0
        public SequenceDiagram()
        {
            InitializeComponent();

            ViewModel = new SequenceDiagramViewModel();
            _orientationLines = new List<Line>();
            _currentOrientationLine = null;
            _isControlPressed = false;
            _orientationLineXBinding = new MultiBinding();
            Binding diagnoseOutputItemsControlActualWidthBinding = new Binding();
            diagnoseOutputItemsControlActualWidthBinding.ElementName = "DiagnoseOutputItemsControl";
            diagnoseOutputItemsControlActualWidthBinding.Path = new PropertyPath("ActualWidth");
            _orientationLineXBinding.Bindings.Add(diagnoseOutputItemsControlActualWidthBinding);
            Binding scrollViewerViewportWidthBinding = new Binding();
            scrollViewerViewportWidthBinding.ElementName = "ScrollViewer";
            scrollViewerViewportWidthBinding.Path = new PropertyPath("ViewportWidth");
            _orientationLineXBinding.Bindings.Add(scrollViewerViewportWidthBinding);
            _orientationLineXBinding.Converter = new MaxConverter();
            _orientationLineYBinding = new MultiBinding();
            Binding lineDurationBinding = new Binding();
            lineDurationBinding.RelativeSource = new RelativeSource(RelativeSourceMode.Self);
            lineDurationBinding.Path = new PropertyPath("Tag");
            _orientationLineYBinding.Bindings.Add(lineDurationBinding);
            Binding lineZoomBinding = new Binding();
            lineZoomBinding.ElementName = "ZoomSlider";
            lineZoomBinding.Path = new PropertyPath("Value");
            _orientationLineYBinding.Bindings.Add(lineZoomBinding);
            Binding sequenceDiagramUserControlHeightBinding = new Binding();
            sequenceDiagramUserControlHeightBinding.ElementName = "SequenceDiagramUserControl";
            sequenceDiagramUserControlHeightBinding.Path = new PropertyPath("ActualHeight");
            _orientationLineYBinding.Bindings.Add(sequenceDiagramUserControlHeightBinding);
            _orientationLineYBinding.Converter = new DurationToHeightConverter();

            MainGrid.ContextMenu = null;
            DiagnoseOutputItemsControl.LayoutUpdated += new EventHandler(DiagnoseOutputItemsControlOnLayoutUpdated);
        }
コード例 #3
0
 public void Constructor_Normal_ProcessesNotNull()
 {
     var sequenceDiagramViewModel = new SequenceDiagramViewModel();
     sequenceDiagramViewModel.Processes.Should().NotBeNull();
 }