public async Task CustomProject_DataSearch() { var bo = new BuildOutput(); var monitor = bo.GetProgressMonitor(); monitor.LogObject(new BuildSessionStartedEvent()); for (int i = 0; i < 100; i++) { monitor.Log.WriteLine($"Message {i + 1}"); } monitor.Log.WriteLine("Custom project built"); monitor.LogObject(new BuildSessionFinishedEvent()); var nodes = bo.GetRootNodes(true); var dataSource = new BuildOutputDataSource(nodes); var search = new BuildOutputDataSearch(nodes); int matches = 0; var visited = new HashSet <BuildOutputNode> (); for (var match = await search.FirstMatch("Message "); match != null; match = search.NextMatch()) { if (visited.Contains(match)) { break; } visited.Add(match); matches++; } Assert.That(matches, Is.EqualTo(100)); }
public async Task CustomProject_DataSearch() { var bo = GenerateCustomBuild(1); var nodes = bo.GetRootNodes(true); var search = new BuildOutputDataSearch(nodes); int matches = 0; var visited = new HashSet <BuildOutputNode> (); for (var match = await search.FirstMatch("Message "); match != null; match = search.NextMatch()) { if (visited.Contains(match)) { break; } visited.Add(match); matches++; } Assert.That(matches, Is.EqualTo(1000)); }