public static UnconfiguredProjectServices Create(IProjectThreadingService?threadingService = null, IProjectFaultHandlerService?projectFaultHandlerService = null, IProjectService?projectService = null) { projectFaultHandlerService ??= IProjectFaultHandlerServiceFactory.Create(); threadingService ??= IProjectThreadingServiceFactory.Create(); var projectLockService = IProjectLockServiceFactory.Create(); var mock = new Mock <UnconfiguredProjectServices>(); projectService ??= IProjectServiceFactory.Create(ProjectServicesFactory.Create(threadingService, projectLockService: projectLockService)); mock.SetupGet(p => p.ProjectService) .Returns(projectService); mock.Setup(p => p.ProjectLockService) .Returns(projectLockService); mock.Setup(p => p.FaultHandler) .Returns(projectFaultHandlerService); return(mock.Object); }
public void Constructor_NullAsProjectLockService_ThrowsArgumentNull() { var project = UnconfiguredProjectFactory.Create(); var projectTree = new Lazy <IPhysicalProjectTree>(() => IPhysicalProjectTreeFactory.Create()); var threadingService = new Lazy <IProjectThreadingService>(() => IProjectThreadingServiceFactory.Create()); var projectProperties = ProjectPropertiesFactory.Create(project); var activeConfiguredProject = ActiveConfiguredProjectFactory.ImplementValue(() => projectProperties.ConfiguredProject); var activeConfiguredProjectProperties = ActiveConfiguredProjectFactory.ImplementValue(() => projectProperties); Assert.Throws <ArgumentNullException>("projectLockService", () => { new UnconfiguredProjectCommonServices(project, projectTree, threadingService, activeConfiguredProject, activeConfiguredProjectProperties, null); }); }
public void Constructor_ValueAsActiveConfiguredProjectProperties_SetsActiveConfiguredProjectPropertiesProperty() { var project = UnconfiguredProjectFactory.Create(); var projectTree = new Lazy <IPhysicalProjectTree>(() => IPhysicalProjectTreeFactory.Create()); var threadingService = new Lazy <IProjectThreadingService>(() => IProjectThreadingServiceFactory.Create()); var projectProperties = ProjectPropertiesFactory.Create(project); var activeConfiguredProject = ActiveConfiguredProjectFactory.ImplementValue(() => projectProperties.ConfiguredProject); var activeConfiguredProjectProperties = ActiveConfiguredProjectFactory.ImplementValue(() => projectProperties); var projectLockService = new Lazy <IProjectLockService>(() => IProjectLockServiceFactory.Create()); var services = new UnconfiguredProjectCommonServices(project, projectTree, threadingService, activeConfiguredProject, activeConfiguredProjectProperties, projectLockService); Assert.Same(projectProperties, services.ActiveConfiguredProjectProperties); }
public void Constructor_ValueAsProjectAccessor_SetsProjectAccessorProperty() { var project = UnconfiguredProjectFactory.Create(); var threadingService = new Lazy <IProjectThreadingService>(() => IProjectThreadingServiceFactory.Create()); var projectProperties = ProjectPropertiesFactory.Create(project); var activeConfiguredProject = ActiveConfiguredProjectFactory.ImplementValue(() => projectProperties.ConfiguredProject); var activeConfiguredProjectProperties = ActiveConfiguredProjectFactory.ImplementValue(() => projectProperties); var projectAccessor = new Lazy <IProjectAccessor>(() => IProjectAccessorFactory.Create()); var services = new UnconfiguredProjectCommonServices(project, threadingService, activeConfiguredProject, activeConfiguredProjectProperties, projectAccessor); Assert.Same(projectAccessor.Value, services.ProjectAccessor); }
private static ConcreteOnceInitializedOnceDisposedUnderLockAsync CreateInstance(Func <Task>?disposed = null) { var threadingService = IProjectThreadingServiceFactory.Create(); return(new ConcreteOnceInitializedOnceDisposedUnderLockAsync(threadingService.JoinableTaskContext, disposed)); }
public void Constructor_ValueAsThreadingService_SetsThreadingServiceProperty() { var threadingService = new Lazy <IProjectThreadingService>(() => IProjectThreadingServiceFactory.Create()); var project = IUnconfiguredProjectFactory.Create(); var projectProperties = ProjectPropertiesFactory.Create(project); var activeConfiguredProject = IActiveConfiguredProjectFactory.ImplementValue(() => projectProperties.ConfiguredProject); var activeConfiguredProjectProperties = IActiveConfiguredProjectFactory.ImplementValue(() => projectProperties); var services = new UnconfiguredProjectCommonServices(project, threadingService, activeConfiguredProject, activeConfiguredProjectProperties); Assert.Same(threadingService.Value, services.ThreadingService); }
public void Constructor_NullAsProject_ThrowsArgumentNull() { var threadingService = new Lazy <IProjectThreadingService>(() => IProjectThreadingServiceFactory.Create()); var unconfiguredProject = IUnconfiguredProjectFactory.Create(); var projectProperties = ProjectPropertiesFactory.Create(unconfiguredProject); var activeConfiguredProject = IActiveConfiguredProjectFactory.ImplementValue(() => projectProperties.ConfiguredProject); var activeConfiguredProjectProperties = IActiveConfiguredProjectFactory.ImplementValue(() => projectProperties); Assert.Throws <ArgumentNullException>("project", () => { new UnconfiguredProjectCommonServices((UnconfiguredProject)null, threadingService, activeConfiguredProject, activeConfiguredProjectProperties); }); }