private static ProjectReloadInterceptor CreateInstance()
        {
            var accessor = IProjectAccessorFactory.Create();
            var provider = new TargetFrameworkProjectConfigurationDimensionProvider(accessor);

            var project  = UnconfiguredProjectFactory.Create();
            var instance = new ProjectReloadInterceptor(project);

            instance.DimensionProviders.Add(provider);

            return(instance);
        }
        public void Constructor_ValueAsProjectAccessor_SetsProjectAccessorProperty()
        {
            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 projectAccessor                   = new Lazy <IProjectAccessor>(() => IProjectAccessorFactory.Create());

            var services = new UnconfiguredProjectCommonServices(project, projectTree, threadingService, activeConfiguredProject, activeConfiguredProjectProperties, projectAccessor);

            Assert.Same(projectAccessor.Value, services.ProjectAccessor);
        }