예제 #1
0
        public void Finds_All_Projects()
        {
            var projectList = new List<ProjectDescriptor>();
            var project = new ProjectDescriptor();
            const string projectName = "abcdef";
            project.Name = projectName;
            const string path = "c:\\dac.dacpac";
            project.DacPath = path;

            projectList.Add(project);

            var enumerator = new Mock<ProjectEnumerator>();
            enumerator.Setup(p => p.EnumerateProjects()).Returns(projectList);

            var tables = new List<ITable>();
            tables.Add(new Table());

            var parser = new Mock<DacParser>();
            parser.Setup(p => p.PreDeployScript).Returns(() => null);
            parser.Setup(p => p.PostDeployScript).Returns(() => null);
            parser.Setup(p => p.GetTableDefinitions()).Returns(tables);

            var parserBuilder = new Mock<DacParserBuilder>();
            parserBuilder.Setup(p => p.Build(path)).Returns(parser.Object);

            var solution = new SolutionParser(enumerator.Object, parserBuilder.Object, new DummyStatus());
            var actualProject = solution.GetProject(projectName);
            Assert.AreEqual(projectName, actualProject.GetName());
            Assert.AreEqual(1, solution.GetProjects().Count);
        }
예제 #2
0
        private void Populate_OnClick(object sender, RoutedEventArgs e)
        {
            var cursor = Cursors.Arrow;

            Dispatcher.Invoke(() =>
            {
                cursor = Cursor;
                Cursor = Cursors.Wait;
            });

            ClearAll();

            _solution = new SolutionParser(new ProjectEnumerator(), new DacParserBuilder(), this);

            Dispatcher.Invoke(() =>
            {
                Projects.ItemsSource = _solution.GetProjects();
                Cursor = cursor;
                Populate.IsEnabled = true;
            });
        }