コード例 #1
0
        async Task <SolutionItem> LoadProject(CustomProjectLoadProgressMonitor m)
        {
            string   solFile = Util.GetSampleProject("flavor-migration", "ConsoleProject.sln");
            Solution sol     = (Solution)await Services.ProjectService.ReadWorkspaceItem(m, solFile);

            return(sol.GetAllItems <SolutionItem>().FirstOrDefault());
        }
コード例 #2
0
        public async Task OptionalMigration_NoPrompt_MonitorMigrate()
        {
            // It should migrate
            migrationHandler.CanPromptForMigrationResult = false;
            var m = new CustomProjectLoadProgressMonitor {
                ShouldMigrateValue = MigrationType.Migrate
            };
            var p = await LoadProject(m);

            Assert.IsInstanceOf <Project> (p);
            Assert.IsTrue(((Project)p).HasFlavor <NewFlavor> ());
            Assert.IsFalse(((Project)p).HasFlavor <ObsoleteFlavor> ());
        }
コード例 #3
0
        public async Task MigrationFails()
        {
            // Project load should fail
            migrationHandler.CanPromptForMigrationResult = false;
            try {
                migrationHandler.MigrationResult = false;
                var m = new CustomProjectLoadProgressMonitor {
                    ShouldMigrateValue = MigrationType.Migrate
                };
                var p = await LoadProject(m);

                Assert.IsInstanceOf <UnknownSolutionItem> (p);
            } finally {
                migrationHandler.MigrationResult = true;
            }
        }
コード例 #4
0
        public async Task MandatoryMigration_NoPrompt_MonitorIgnore()
        {
            // Project load should fail
            migrationHandler.CanPromptForMigrationResult = false;
            migrator.IsMigrationRequired = true;
            try {
                var m = new CustomProjectLoadProgressMonitor {
                    ShouldMigrateValue = MigrationType.Ignore
                };
                var p = await LoadProject(m);

                Assert.IsInstanceOf <UnknownSolutionItem> (p);
            } finally {
                migrator.IsMigrationRequired = false;
            }
        }
コード例 #5
0
        public async Task MandatoryMigration_PromptMigrate_MonitorIgnore()
        {
            // It should migrate
            migrationHandler.CanPromptForMigrationResult = true;
            migrationHandler.PromptForMigrationResult    = MigrationType.Migrate;
            migrator.IsMigrationRequired = true;
            try {
                var m = new CustomProjectLoadProgressMonitor {
                    ShouldMigrateValue = MigrationType.Ignore
                };
                var p = await LoadProject(m);

                Assert.IsTrue(((Project)p).HasFlavor <NewFlavor> ());
                Assert.IsFalse(((Project)p).HasFlavor <ObsoleteFlavor> ());
            } finally {
                migrator.IsMigrationRequired = false;
            }
        }