private async Task RenameAsync(string soureCode, string oldFilePath, string newFilePath)
        {
            using (var ws = new AdhocWorkspace())
            {
                var      projectId = ProjectId.CreateNewId();
                Solution solution  = ws.AddSolution(InitializeWorkspace(projectId, newFilePath, soureCode));
                Project  project   = (from d in solution.Projects where d.Id == projectId select d).FirstOrDefault();

                var userNotificationServices = IUserNotificationServicesFactory.Implement(f => ConfirmRename(""));
                var optionsSettingsFactory   = IOptionsSettingsFactory.Implement((string category, string page, string property, bool defaultValue) => { return(true); });

                var renamer = new Renamer(ws, IProjectThreadingServiceFactory.Create(), userNotificationServices, optionsSettingsFactory, null, project, oldFilePath, newFilePath);
                await renamer.RenameAsync(project);
            }
        }
        public void OptionsSettings_GetPropertiesValue__FalseValue()
        {
            var results = Task.Run(async() =>
            {
                var threadingService       = IProjectThreadingServiceFactory.Create();
                var optionsSettingsFactory = IOptionsSettingsFactory.Implement((string category, string page, string property, bool defaultValue) =>
                {
                    threadingService.VerifyOnUIThread();
                    return(defaultValue);
                });
                await threadingService.SwitchToUIThread();
                return(optionsSettingsFactory.GetPropertiesValue("foo", "foo", "foo", false));
            }).Result;

            Assert.False(results);
        }