public void VerifyThatActiveDomainIsDisplayed()
        {
            var domain = new DomainOfExpertise(Guid.NewGuid(), null, this.uri)
            {
                Name = "domain"
            };

            this.session.Setup(x => x.OpenIterations).Returns(new Dictionary <Iteration, Tuple <DomainOfExpertise, Participant> >
            {
                { this.iteration, new Tuple <DomainOfExpertise, Participant>(domain, null) }
            });

            var vm = new DiagramBrowserViewModel(this.iteration, this.session.Object, null, null, null, null);

            Assert.AreEqual("domain []", vm.DomainOfExpertise);

            this.session.Setup(x => x.OpenIterations).Returns(new Dictionary <Iteration, Tuple <DomainOfExpertise, Participant> >
            {
                { this.iteration, null }
            });

            vm = new DiagramBrowserViewModel(this.iteration, this.session.Object, null, null, null, null);
            Assert.AreEqual("None", vm.DomainOfExpertise);

            this.session.Setup(x => x.OpenIterations).Returns(new Dictionary <Iteration, Tuple <DomainOfExpertise, Participant> >());
            vm = new DiagramBrowserViewModel(this.iteration, this.session.Object, null, null, null, null);
            Assert.AreEqual("None", vm.DomainOfExpertise);
        }
        public void VerifyComputePermissions()
        {
            var vm = new DiagramBrowserViewModel(this.iteration, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, null);

            var diagramrow = vm.Diagrams.Single();

            Assert.That(diagramrow.Name, Is.Not.Null.Or.Empty);

            Assert.IsFalse(vm.UpdateCommand.CanExecute(null));
            vm.SelectedThing = diagramrow;
            vm.ComputePermission();
            Assert.IsTrue(vm.UpdateCommand.CanExecute(null));

            vm.UpdateCommand.Execute(null);
            this.panelNavigationService.Verify(x => x.OpenInDock(It.IsAny <DiagramEditorViewModel>()));
        }
        public void VerifyThatDiagramRowsAreUpdated()
        {
            var viewmodel = new DiagramBrowserViewModel(this.iteration, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, null);

            var newdiagram = new DiagramCanvas(Guid.NewGuid(), null, this.uri);

            this.iteration.DiagramCanvas.Add(newdiagram);

            var revision = typeof(Iteration).GetProperty("RevisionNumber");

            revision.SetValue(this.iteration, 2);

            CDPMessageBus.Current.SendObjectChangeEvent(this.iteration, EventKind.Updated);
            Assert.AreEqual(2, viewmodel.Diagrams.Count);

            this.iteration.DiagramCanvas.Clear();
            revision.SetValue(this.iteration, 3);

            CDPMessageBus.Current.SendObjectChangeEvent(this.iteration, EventKind.Updated);
            Assert.AreEqual(0, viewmodel.Diagrams.Count);
        }
        public void VerifyThatRowsAreCreated()
        {
            var viewmodel = new DiagramBrowserViewModel(this.iteration, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, null);

            Assert.AreEqual(1, viewmodel.Diagrams.Count);

            Assert.That(viewmodel.Caption, Is.Not.Null.Or.Empty);
            Assert.That(viewmodel.ToolTip, Is.Not.Null.Or.Empty);
            Assert.That(viewmodel.DataSource, Is.Not.Null.Or.Empty);
            Assert.That(viewmodel.DomainOfExpertise, Is.Not.Null.Or.Empty);
            Assert.That(viewmodel.CurrentModel, Is.Not.Null.Or.Empty);

            var diagramrow = viewmodel.Diagrams.Single();

            Assert.That(diagramrow.Name, Is.Not.Null.Or.Empty);

            viewmodel.SelectedThing = diagramrow;

            viewmodel.UpdateCommand.Execute(null);
            this.panelNavigationService.Verify(x => x.OpenInDock(It.IsAny <DiagramEditorViewModel>()));
        }