public void Should_get_included_tests() { var a = new CheckedNode("A"); var aa = new CheckedNode("AA", false) { Parent = a }; var ab = new CheckedNode("AB") { Parent = a }; var aba = new CheckedNode("ABA") { Parent = ab }; var abaa = new CheckedNode("ABAA", false) { Parent = aba }; var abb = new CheckedNode("ABB") { Parent = ab }; var abba = new CheckedNode("ABBA", false) { Parent = abb }; var abbb = new CheckedNode("ABBA", false) { Parent = abb }; a.Children.Add(aa); a.Children.Add(ab); ab.Children.Add(aba); ab.Children.Add(abb); abb.Children.Add(abba); abb.Children.Add(abbb); aba.Children.Add(abaa); a.IsIncluded = false; abba.IsIncluded = true; aba.IsIncluded = true; var testsSelector = new TestsSelector(); var minimalTreeId = testsSelector.MinimalTreeId(a, n => n.Name, n => n.Children); minimalTreeId.ShouldEqual(new List<string> { "ABA ABBA"}); }
public TypeNode(CheckedNode parent, string name, IEnumerable<MethodNode> children = null) : base( name, true) { Parent = parent; if(children != null) { Children.AddRange(children); } }
public MutantGroup(string name, CheckedNode parent, IEnumerable<Mutant> mutants = null) : base( name, true) { Parent = parent; if(mutants != null) { Children.AddRange(mutants); } UpdateDisplayedText(); }
private void ExpandLoneNodes(CheckedNode tests) { var allTests = tests.Children .SelectManyRecursive(n => n.Children ?? new NotifyingCollection<CheckedNode>(), n => n.IsIncluded == null || n.IsIncluded == true) .Cast<IExpandableNode>(); foreach (var testNode in allTests) { testNode.IsExpanded = true; } }
public async Task<List<AssemblyNode>> BuildAssemblyTree(Task<CciModuleSource> assembliesTask, bool constrainedMutation, CciMethodMatcher matcher) { var modules = await assembliesTask; var assemblies = CreateNodesFromAssemblies(modules, matcher) .Where(a => a.Children.Count > 0).ToList(); var root = new CheckedNode(""); root.Children.AddRange(assemblies); ExpandLoneNodes(root); if (assemblies.Count == 0) { throw new InvalidOperationException(UserMessages.ErrorNoFilesToMutate()); } // _reporting.LogError(UserMessages.ErrorNoFilesToMutate()); return assemblies; //Events.OnNext(assemblies); }
public MethodNode(CheckedNode parent, string name, IMethodDefinition methodDefinition, bool hasChildren) : base(name, hasChildren) { _methodDefinition = methodDefinition; Parent = parent; }
public TypeNamespaceNode(CheckedNode parent, string name) : base( name, true) { Parent = parent; }
public TypeNamespaceNode(CheckedNode parent, string name) : base(name, true) { Parent = parent; }