public IEnumerable<Suite> HandleFiles(IEnumerable<IFile> files)
{
var affectedSuites = new List<Suite>();
foreach (var file in files)
{
var isSystem = IsSystem(file);
if (isSystem)
{
var suite = new Suite(file);
_suites.Add(suite);
}
var isDescription = IsDescription(file);
if (isDescription && _descriptionComponents.ContainsKey(SystemComponentName))
{
var systemComponentIndex = _descriptionComponents[SystemComponentName];
foreach (var suite in _suites)
{
var match = _descriptionsSearchPathRegex.Match(file.FullPath);
if (match.Groups[systemComponentIndex+1].Value == suite.System)
{
var description = new Description(file);
// Todo: Hack for now
description.AddCase(new Case());
suite.AddDescription(description);
if( !affectedSuites.Contains(suite) ) {
affectedSuites.Add (suite);
}
}
}
}
}
return affectedSuites;
}