public Algorithm(string minerID, params AlgorithmType[] ids)
 {
     MinerID       = minerID;
     IDs           = ids;
     Speeds        = ids.Select(id => 0d).ToList();
     AlgorithmName = string.Join("+", IDs.Select(type => Enum.GetName(typeof(AlgorithmType), type)));
 }
 public override IReadOnlyCollection <ErrorInfo> GetErrors()
 {
     if (ids != null)
     {
         Errors.UnionWith(IDs.Select(id => new ErrorInfo(methodName, id.Value, ErrorType.Leak, id.Key)));
     }
     return(Errors);
 }