private void AssertDependenciesBuilt(IEnumerable <TaskDependency> deps)
 {
     foreach (var dep in deps)
     {
         if (dep != null)
         {
             Assert.That(BuiltTasks.Contains(dep.Task), string.Format("{0}[{1}]->{2} should be built for task to be cleaned", Name, dep.Name, ((AssertsDependenciesBuiltForClean)dep.Task).Name));
         }
     }
 }
 public override void Clean()
 {
     AssertDependenciesBuilt(Dependencies);
     BuiltTasks.Remove(this);
     Console.WriteLine("cleaned {0}", Name);
 }
 public override void Build()
 {
     BuiltTasks.Add(this);
     Console.WriteLine("built {0}", Name);
 }