private void WriteMethods(List <Call> calls, CoverageScope klass) { foreach (var child in klass.Children) { FunctionDefinition funcDef = child.Statement as FunctionDefinition; if (funcDef != null) { List <Call> lines = new List <Call>(); lines.Add(WriteStats(child)); lines.AddRange(WriteLines(child.Lines)); calls.Add( new Call( string.Format( "Function(\"{0}\",", CoverageExporter.GetQualifiedFunctionName(child.Statement) ), lines.ToArray() ) ); WriteMethods(calls, child); } } }
internal override void Validate(CoverageMapper mapper, CoverageScope parentScope) { foreach (var scope in mapper.Classes) { if (CoverageExporter.GetQualifiedName(scope.Statement) == _name) { foreach (var expected in _expected) { expected.Validate(mapper, scope); } return; } } Assert.Fail("Failed to find class: " + _name); }
private void DumpCoverage(Dictionary <CoverageFileInfo, CoverageMapper> covInfo) { List <Call> calls = new List <Call>(); foreach (var file in covInfo) { List <Call> children = new List <Call>(); children.Add(WriteStats(file.Value.GlobalScope)); var methods = WriteMethods(file.Value.GlobalScope); if (methods.Length > 0) { children.Add(new Call("Global(", methods)); } foreach (var klass in file.Value.Classes) { List <Call> classMembers = new List <Call>(); classMembers.Add(WriteStats(klass)); classMembers.AddRange(WriteMethods(klass)); classMembers.AddRange(WriteLines(klass.Lines)); children.Add( new Call( string.Format("Class(\"{0}\", ", CoverageExporter.GetQualifiedName(klass.Statement)), classMembers.ToArray() ) ); } children.AddRange(WriteLines(file.Value.GlobalScope.Lines)); calls.Add( new Call( string.Format("Module(\"{0}\", ", file.Value.ModuleName), children.ToArray() ) ); } Console.WriteLine("-----"); Console.WriteLine(new Call(null, calls.ToArray()).ToString()); }
private bool FindFunction(CoverageMapper mapper, CoverageScope parentScope) { foreach (var scope in parentScope.Children) { if (scope.Statement is FunctionDefinition) { if (CoverageExporter.GetQualifiedFunctionName(scope.Statement) == _name) { foreach (var expected in _expected) { expected.Validate(mapper, scope); } return(true); } if (FindFunction(mapper, scope)) { // nested function... return(true); } } } return(false); }