public virtual void RaiseOnTrainingComplete(PatternResult result)
 {
     if (OnTrainingComplete != null)
     {
         OnTrainingComplete(this, result);
     }
 }
 void solver_OnTrainingComplete(object arg1, PatternResult arg2)
 {
     if (OnTrainingComplete != null)
     {
         OnTrainingComplete(this, new OnTrainingCompletedEventArgs(arg2.Error));
     }
 }
 void solver_OnTestingComplete(object arg1, PatternResult arg2)
 {
     if (OnTestingComplete != null)
     {
         OnTestingComplete(this, new OnTestingCompletedEventArgs(arg2.Error, arg2.PercentageCorrect));
     }
 }