Exemplo n.º 1
0
        public void OnSummaryChange()
        {
            var context = new Mock <IContextAware>();
            {
                context.Setup(c => c.IsSynchronized)
                .Returns(true);
            }

            var progressTracker = new Mock <ITrackSteppingProgress>();
            var projectLink     = new Mock <ILinkToProjects>();

            var proxy = new Mock <IProxyDataset>();

            var dataset = new DatasetFacade(proxy.Object);
            var model   = new DatasetDetailModel(context.Object, progressTracker.Object, projectLink.Object, dataset);

            var wasRaised = false;

            model.PropertyChanged += (s, e) =>
            {
                wasRaised = true;
                Assert.AreEqual("Summary", e.PropertyName);
            };

            proxy.Raise(p => p.OnSummaryChanged += null, new ValueChangedEventArgs <string>("a"));
            Assert.IsTrue(wasRaised);
        }
Exemplo n.º 2
0
        public void Create()
        {
            var context = new Mock<IContextAware>();
            var progressTracker = new Mock<ITrackSteppingProgress>();

            var history = new Mock<ITimeline>();
            {
                history.Setup(h => h.Mark())
                    .Verifiable();
            }

            var project = new Mock<IProject>();
            {
                project.Setup(p => p.History)
                    .Returns(history.Object);
            }

            var projectFacade = new ProjectFacade(project.Object);
            var projectLink = new Mock<ILinkToProjects>();
            {
                projectLink.Setup(p => p.ActiveProject())
                    .Returns(projectFacade);
            }

            var name = "a";
            var summary = "b";
            var proxy = new Mock<IProxyDataset>();
            {
                proxy.Setup(p => p.Name)
                    .Returns(name);
                proxy.Setup(p => p.Summary)
                    .Returns(summary);
                proxy.Setup(p => p.IsEditMode)
                    .Returns(false);
                proxy.Setup(p => p.IsActivated)
                    .Returns(true);
            }

            var dataset = new DatasetFacade(proxy.Object);
            var model = new DatasetDetailModel(context.Object, progressTracker.Object, projectLink.Object, dataset);

            Assert.IsTrue(model.DisplayName.Contains(name));
            Assert.AreEqual(name, model.Name);
            Assert.AreEqual(summary, model.Summary);

            Assert.IsTrue(model.IsLocked);
            Assert.IsTrue(model.IsActivated);
        }
Exemplo n.º 3
0
        public void Create()
        {
            var context         = new Mock <IContextAware>();
            var progressTracker = new Mock <ITrackSteppingProgress>();

            var history = new Mock <ITimeline>();
            {
                history.Setup(h => h.Mark())
                .Verifiable();
            }

            var project = new Mock <IProject>();
            {
                project.Setup(p => p.History)
                .Returns(history.Object);
            }

            var projectFacade = new ProjectFacade(project.Object);
            var projectLink   = new Mock <ILinkToProjects>();
            {
                projectLink.Setup(p => p.ActiveProject())
                .Returns(projectFacade);
            }

            var name    = "a";
            var summary = "b";
            var proxy   = new Mock <IProxyDataset>();
            {
                proxy.Setup(p => p.Name)
                .Returns(name);
                proxy.Setup(p => p.Summary)
                .Returns(summary);
                proxy.Setup(p => p.IsEditMode)
                .Returns(false);
                proxy.Setup(p => p.IsActivated)
                .Returns(true);
            }

            var dataset = new DatasetFacade(proxy.Object);
            var model   = new DatasetDetailModel(context.Object, progressTracker.Object, projectLink.Object, dataset);

            Assert.IsTrue(model.DisplayName.Contains(name));
            Assert.AreEqual(name, model.Name);
            Assert.AreEqual(summary, model.Summary);

            Assert.IsTrue(model.IsLocked);
            Assert.IsTrue(model.IsActivated);
        }
Exemplo n.º 4
0
        public void UpdateName()
        {
            var context         = new Mock <IContextAware>();
            var progressTracker = new Mock <ITrackSteppingProgress>();
            var mockChangeSet   = new Mock <IChangeSet>();
            {
                mockChangeSet.Setup(m => m.StoreChanges())
                .Verifiable();
            }

            var history = new Mock <ITimeline>();
            {
                history.Setup(h => h.RecordHistory())
                .Returns(mockChangeSet.Object);
            }

            var project = new Mock <IProject>();
            {
                project.Setup(p => p.History)
                .Returns(history.Object);
            }

            var projectFacade = new ProjectFacade(project.Object);
            var projectLink   = new Mock <ILinkToProjects>();
            {
                projectLink.Setup(p => p.ActiveProject())
                .Returns(projectFacade);
            }

            var proxy = new Mock <IProxyDataset>();
            {
                proxy.Setup(p => p.Name)
                .Verifiable();
            }

            var dataset = new DatasetFacade(proxy.Object);
            var model   = new DatasetDetailModel(context.Object, progressTracker.Object, projectLink.Object, dataset);

            var name = "a";

            model.Name = name;
            proxy.VerifySet(p => p.Name = It.Is <string>(s => s.Equals(name)), Times.Once());
            mockChangeSet.Verify(h => h.StoreChanges(), Times.Once());
        }
Exemplo n.º 5
0
        public void OnDeactivate()
        {
            var context = new Mock <IContextAware>();
            {
                context.Setup(c => c.IsSynchronized)
                .Returns(true);
            }

            var progressTracker = new Mock <ITrackSteppingProgress>();
            var projectLink     = new Mock <ILinkToProjects>();

            var proxy = new Mock <IProxyDataset>();

            var dataset = new DatasetFacade(proxy.Object);
            var model   = new DatasetDetailModel(context.Object, progressTracker.Object, projectLink.Object, dataset);

            var propertyChangedWasRaised = 0;
            var properties = new List <string>();

            model.PropertyChanged += (s, e) =>
            {
                propertyChangedWasRaised++;
                properties.Add(e.PropertyName);
            };
            var onUnloadedWasRaised = false;

            model.OnDeactivated += (s, e) =>
            {
                onUnloadedWasRaised = true;
            };

            proxy.Raise(p => p.OnDeactivated += null, EventArgs.Empty);
            Assert.AreEqual(2, propertyChangedWasRaised);
            Assert.That(
                properties,
                Is.EquivalentTo(
                    new List <string>
            {
                "IsActivated",
                "Endpoint",
            }));
            Assert.IsTrue(onUnloadedWasRaised);
        }
Exemplo n.º 6
0
        public void OnProgress()
        {
            var context         = new Mock <IContextAware>();
            var progressTracker = new Mock <ITrackSteppingProgress>();
            {
                progressTracker.Setup(p => p.StartTracking())
                .Verifiable();
                progressTracker.Setup(p => p.StopTracking())
                .Verifiable();
                progressTracker.Setup(p => p.UpdateProgress(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <bool>()))
                .Verifiable();
            }

            var projectLink = new Mock <ILinkToProjects>();

            var proxy = new Mock <IProxyDataset>();

            var dataset = new DatasetFacade(proxy.Object);
            var model   = new DatasetDetailModel(context.Object, progressTracker.Object, projectLink.Object, dataset);

            // Verify here to indicate that we do really need this instance.
            Assert.IsNotNull(model);

            proxy.Raise(p => p.OnProgressOfCurrentAction += null, new ProgressEventArgs(0, "a", true));
            progressTracker.Verify(p => p.StartTracking(), Times.Once());
            progressTracker.Verify(p => p.UpdateProgress(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <bool>()), Times.Once());
            progressTracker.Verify(p => p.StopTracking(), Times.Never());

            proxy.Raise(p => p.OnProgressOfCurrentAction += null, new ProgressEventArgs(50, "b", false));
            progressTracker.Verify(p => p.StartTracking(), Times.Once());
            progressTracker.Verify(p => p.UpdateProgress(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <bool>()), Times.Exactly(2));
            progressTracker.Verify(p => p.StopTracking(), Times.Never());

            proxy.Raise(p => p.OnProgressOfCurrentAction += null, new ProgressEventArgs(100, "c", true));
            progressTracker.Verify(p => p.StartTracking(), Times.Once());
            progressTracker.Verify(p => p.UpdateProgress(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <bool>()), Times.Exactly(3));
            progressTracker.Verify(p => p.StopTracking(), Times.Once());
        }
Exemplo n.º 7
0
        public void OnNameChange()
        {
            var context = new Mock <IContextAware>();
            {
                context.Setup(c => c.IsSynchronized)
                .Returns(true);
            }

            var progressTracker = new Mock <ITrackSteppingProgress>();
            var projectLink     = new Mock <ILinkToProjects>();

            var proxy = new Mock <IProxyDataset>();

            var dataset = new DatasetFacade(proxy.Object);
            var model   = new DatasetDetailModel(context.Object, progressTracker.Object, projectLink.Object, dataset);

            var wasRaised  = 0;
            var properties = new List <string>();

            model.PropertyChanged += (s, e) =>
            {
                wasRaised++;
                properties.Add(e.PropertyName);
            };

            proxy.Raise(p => p.OnNameChanged += null, new ValueChangedEventArgs <string>("a"));
            Assert.AreEqual(2, wasRaised);
            Assert.That(
                properties,
                Is.EquivalentTo(
                    new List <string>
            {
                "Name",
                "DisplayName",
            }));
        }
Exemplo n.º 8
0
        public void OnDeactivate()
        {
            var context = new Mock<IContextAware>();
            {
                context.Setup(c => c.IsSynchronized)
                    .Returns(true);
            }

            var progressTracker = new Mock<ITrackSteppingProgress>();
            var projectLink = new Mock<ILinkToProjects>();

            var proxy = new Mock<IProxyDataset>();

            var dataset = new DatasetFacade(proxy.Object);
            var model = new DatasetDetailModel(context.Object, progressTracker.Object, projectLink.Object, dataset);

            var propertyChangedWasRaised = 0;
            var properties = new List<string>();
            model.PropertyChanged += (s, e) =>
                {
                    propertyChangedWasRaised++;
                    properties.Add(e.PropertyName);
                };
            var onUnloadedWasRaised = false;
            model.OnDeactivated += (s, e) =>
                {
                    onUnloadedWasRaised = true;
                };

            proxy.Raise(p => p.OnDeactivated += null, EventArgs.Empty);
            Assert.AreEqual(2, propertyChangedWasRaised);
            Assert.That(
                properties,
                Is.EquivalentTo(
                    new List<string>
                    {
                        "IsActivated",
                        "Endpoint",
                    }));
            Assert.IsTrue(onUnloadedWasRaised);
        }
Exemplo n.º 9
0
        public void UpdateSummary()
        {
            var context = new Mock<IContextAware>();
            var progressTracker = new Mock<ITrackSteppingProgress>();
            var mockChangeSet = new Mock<IChangeSet>();
            {
                mockChangeSet.Setup(m => m.StoreChanges())
                    .Verifiable();
            }

            var history = new Mock<ITimeline>();
            {
                history.Setup(h => h.RecordHistory())
                    .Returns(mockChangeSet.Object);
            }

            var project = new Mock<IProject>();
            {
                project.Setup(p => p.History)
                    .Returns(history.Object);
            }

            var projectFacade = new ProjectFacade(project.Object);
            var projectLink = new Mock<ILinkToProjects>();
            {
                projectLink.Setup(p => p.ActiveProject())
                    .Returns(projectFacade);
            }

            var proxy = new Mock<IProxyDataset>();
            {
                proxy.Setup(p => p.Summary)
                    .Verifiable();
            }

            var dataset = new DatasetFacade(proxy.Object);
            var model = new DatasetDetailModel(context.Object, progressTracker.Object, projectLink.Object, dataset);

            var summary = "a";
            model.Summary = summary;
            proxy.VerifySet(p => p.Summary = It.Is<string>(s => s.Equals(summary)), Times.Once());
            mockChangeSet.Verify(h => h.StoreChanges(), Times.Once());
        }
Exemplo n.º 10
0
        public void OnSummaryChange()
        {
            var context = new Mock<IContextAware>();
            {
                context.Setup(c => c.IsSynchronized)
                    .Returns(true);
            }

            var progressTracker = new Mock<ITrackSteppingProgress>();
            var projectLink = new Mock<ILinkToProjects>();

            var proxy = new Mock<IProxyDataset>();

            var dataset = new DatasetFacade(proxy.Object);
            var model = new DatasetDetailModel(context.Object, progressTracker.Object, projectLink.Object, dataset);

            var wasRaised = false;
            model.PropertyChanged += (s, e) =>
            {
                wasRaised = true;
                Assert.AreEqual("Summary", e.PropertyName);
            };

            proxy.Raise(p => p.OnSummaryChanged += null, new ValueChangedEventArgs<string>("a"));
            Assert.IsTrue(wasRaised);
        }
Exemplo n.º 11
0
        public void OnProgress()
        {
            var context = new Mock<IContextAware>();
            var progressTracker = new Mock<ITrackSteppingProgress>();
            {
                progressTracker.Setup(p => p.StartTracking())
                    .Verifiable();
                progressTracker.Setup(p => p.StopTracking())
                    .Verifiable();
                progressTracker.Setup(p => p.UpdateProgress(It.IsAny<int>(), It.IsAny<string>(), It.IsAny<bool>()))
                    .Verifiable();
            }

            var projectLink = new Mock<ILinkToProjects>();

            var proxy = new Mock<IProxyDataset>();

            var dataset = new DatasetFacade(proxy.Object);
            var model = new DatasetDetailModel(context.Object, progressTracker.Object, projectLink.Object, dataset);

            // Verify here to indicate that we do really need this instance.
            Assert.IsNotNull(model);

            proxy.Raise(p => p.OnProgressOfCurrentAction += null, new ProgressEventArgs(0, "a", true));
            progressTracker.Verify(p => p.StartTracking(), Times.Once());
            progressTracker.Verify(p => p.UpdateProgress(It.IsAny<int>(), It.IsAny<string>(), It.IsAny<bool>()), Times.Once());
            progressTracker.Verify(p => p.StopTracking(), Times.Never());

            proxy.Raise(p => p.OnProgressOfCurrentAction += null, new ProgressEventArgs(50, "b", false));
            progressTracker.Verify(p => p.StartTracking(), Times.Once());
            progressTracker.Verify(p => p.UpdateProgress(It.IsAny<int>(), It.IsAny<string>(), It.IsAny<bool>()), Times.Exactly(2));
            progressTracker.Verify(p => p.StopTracking(), Times.Never());

            proxy.Raise(p => p.OnProgressOfCurrentAction += null, new ProgressEventArgs(100, "c", true));
            progressTracker.Verify(p => p.StartTracking(), Times.Once());
            progressTracker.Verify(p => p.UpdateProgress(It.IsAny<int>(), It.IsAny<string>(), It.IsAny<bool>()), Times.Exactly(3));
            progressTracker.Verify(p => p.StopTracking(), Times.Once());
        }
Exemplo n.º 12
0
        public void OnNameChange()
        {
            var context = new Mock<IContextAware>();
            {
                context.Setup(c => c.IsSynchronized)
                    .Returns(true);
            }

            var progressTracker = new Mock<ITrackSteppingProgress>();
            var projectLink = new Mock<ILinkToProjects>();

            var proxy = new Mock<IProxyDataset>();

            var dataset = new DatasetFacade(proxy.Object);
            var model = new DatasetDetailModel(context.Object, progressTracker.Object, projectLink.Object, dataset);

            var wasRaised = 0;
            var properties = new List<string>();
            model.PropertyChanged += (s, e) =>
            {
                wasRaised++;
                properties.Add(e.PropertyName);
            };

            proxy.Raise(p => p.OnNameChanged += null, new ValueChangedEventArgs<string>("a"));
            Assert.AreEqual(2, wasRaised);
            Assert.That(
                properties,
                Is.EquivalentTo(
                    new List<string>
                    {
                        "Name",
                        "DisplayName",
                    }));
        }