コード例 #1
0
ファイル: ProjectHubTest.cs プロジェクト: rafysanchez/Apollo
        public void LoadNewProject()
        {
            var project = new Mock <IProject>();

            var persistence = new Mock <IPersistenceInformation>();
            var service     = new Mock <IUserInterfaceService>();
            {
                service.Setup(s => s.Contains(It.IsAny <CommandId>()))
                .Returns(true);

                service.Setup(s => s.Invoke(It.IsAny <CommandId>(), It.IsAny <ICommandContext>()))
                .Callback <CommandId, ICommandContext>(
                    (id, context) =>
                {
                    LoadProjectContext loadContext = context as LoadProjectContext;
                    Assert.AreSame(persistence.Object, loadContext.LoadFrom);
                    loadContext.Result = Task <IProject> .Factory.StartNew(
                        () => project.Object,
                        new CancellationToken(),
                        TaskCreationOptions.None,
                        new CurrentThreadTaskScheduler());
                })
                .Verifiable();
            }

            var facade = new ProjectHub(service.Object);

            facade.LoadProject(persistence.Object);

            Assert.IsTrue(facade.HasActiveProject());
            service.Verify(s => s.Invoke(It.IsAny <CommandId>(), It.IsAny <ICommandContext>()), Times.Exactly(1));
        }
コード例 #2
0
ファイル: ProjectHubTest.cs プロジェクト: rafysanchez/Apollo
        public void LoadNewProjectWithLoadingFailure()
        {
            var persistence = new Mock <IPersistenceInformation>();
            var service     = new Mock <IUserInterfaceService>();
            {
                service.Setup(s => s.Contains(It.IsAny <CommandId>()))
                .Returns(true);

                service.Setup(s => s.Invoke(It.IsAny <CommandId>(), It.IsAny <ICommandContext>()))
                .Callback <CommandId, ICommandContext>(
                    (id, context) =>
                {
                    LoadProjectContext loadContext = context as LoadProjectContext;
                    Assert.AreSame(persistence.Object, loadContext.LoadFrom);
                    loadContext.Result = null;
                })
                .Verifiable();
            }

            var facade = new ProjectHub(service.Object);

            Assert.Throws <FailedToLoadProjectException>(() => facade.LoadProject(persistence.Object));
            service.Verify(s => s.Invoke(It.IsAny <CommandId>(), It.IsAny <ICommandContext>()), Times.Exactly(1));
        }
コード例 #3
0
ファイル: ProjectHubTest.cs プロジェクト: pvandervelde/Apollo
        public void LoadNewProject()
        {
            var project = new Mock<IProject>();

            var persistence = new Mock<IPersistenceInformation>();
            var service = new Mock<IUserInterfaceService>();
            {
                service.Setup(s => s.Contains(It.IsAny<CommandId>()))
                    .Returns(true);

                service.Setup(s => s.Invoke(It.IsAny<CommandId>(), It.IsAny<ICommandContext>()))
                    .Callback<CommandId, ICommandContext>(
                        (id, context) =>
                        {
                            LoadProjectContext loadContext = context as LoadProjectContext;
                            Assert.AreSame(persistence.Object, loadContext.LoadFrom);
                            loadContext.Result = Task<IProject>.Factory.StartNew(
                                () => project.Object,
                                new CancellationToken(),
                                TaskCreationOptions.None,
                                new CurrentThreadTaskScheduler());
                        })
                    .Verifiable();
            }

            var facade = new ProjectHub(service.Object);
            facade.LoadProject(persistence.Object);

            Assert.IsTrue(facade.HasActiveProject());
            service.Verify(s => s.Invoke(It.IsAny<CommandId>(), It.IsAny<ICommandContext>()), Times.Exactly(1));
        }
コード例 #4
0
ファイル: ProjectHubTest.cs プロジェクト: pvandervelde/Apollo
        public void LoadNewProjectWithLoadingFailure()
        {
            var persistence = new Mock<IPersistenceInformation>();
            var service = new Mock<IUserInterfaceService>();
            {
                service.Setup(s => s.Contains(It.IsAny<CommandId>()))
                    .Returns(true);

                service.Setup(s => s.Invoke(It.IsAny<CommandId>(), It.IsAny<ICommandContext>()))
                    .Callback<CommandId, ICommandContext>(
                        (id, context) =>
                        {
                            LoadProjectContext loadContext = context as LoadProjectContext;
                            Assert.AreSame(persistence.Object, loadContext.LoadFrom);
                            loadContext.Result = null;
                        })
                    .Verifiable();
            }

            var facade = new ProjectHub(service.Object);
            Assert.Throws<FailedToLoadProjectException>(() => facade.LoadProject(persistence.Object));
            service.Verify(s => s.Invoke(It.IsAny<CommandId>(), It.IsAny<ICommandContext>()), Times.Exactly(1));
        }