Example #1
0
 public void setUp()
 {
     _bus       = MockRepository.GenerateMock <IMessageBus>();
     _fsService = new FakeFileSystemService();
     _cache     = new FakeCache();
     _crawler   = new ProjectCrawler(_cache, _fsService, _bus);
 }
Example #2
0
        private void crawlFolder(string watchFolder)
        {
            var fsService    = _services.Locate <IFileSystemService>();
            var cache        = _services.Locate <ICache>();
            var bus          = _services.Locate <IMessageBus>();
            var cacheCrawler = new ProjectCrawler(cache, fsService, bus);

            cacheCrawler.Crawl(watchFolder);
        }
Example #3
0
        public async Task ParseCsproj_Success(string csprojFileName)
        {
            var projectLocation = await DummyProject.Generate("TestProject");

            var crawler       = new ProjectCrawler();
            var dotnetProject = await crawler.ParseCsproj(Path.Combine(projectLocation, csprojFileName));

            await DummyProject.Clean("TestProject");

            Assert.Equal("TestProject", dotnetProject.Name);
            Assert.Equal("Microsoft.NET.Sdk.Web", dotnetProject.ProjectSdk);
        }
Example #4
0
        public void ContinuousLettersMatch_Should_RankHigher()
        {
            var query    = "asd";
            var projects = @"AppleSauceDriver,AsdSomething".Split(',')
                           .Select(x => new ProjectDirectory($@"D:\code\lib\{x}", x, "c", "c#"))
                           .OrderBy(x => x.RootDirectoryName);

            var results   = ProjectCrawler.RankedMatch(projects, query);
            var topResult = results.FirstOrDefault();

            Assert.AreEqual(topResult.Project.Name, "AsdSomething");
        }
Example #5
0
        public MainWindowViewModel()
        {
            var config = ServiceProvider.GetService <AppConfig>();

            _projectDirectories = ProjectCrawler.Scan(config.RootDirectories).ToArray();
            LauncherCommands    = config.Commands;

            SearchCommand = ReactiveCommand.CreateFromTask <string, List <ProjectMatchResult> >(SearchAsync);
            SearchCommand.ThrownExceptions.Subscribe();
            SearchCommand.ToPropertyEx(this, x => x.FilteredProjectDirectories);

            ExecuteLauncherCommand = ReactiveCommand.CreateFromTask <object[]>(LaunchAsync);
            ExecuteLauncherCommand.ThrownExceptions.Subscribe();

            this.WhenAnyValue(x => x.SearchTerm)
            .Throttle(TimeSpan.FromSeconds(0.25))
            .InvokeCommand(SearchCommand);
        }
Example #6
0
 public async Task <List <ProjectMatchResult> > SearchAsync(string searchTerm) => ProjectCrawler.RankedMatch(_projectDirectories, searchTerm).ToList();