/// <summary> /// Returns a string representation of the minimal critical fault sets. /// </summary> public override string ToString() { var builder = new StringBuilder(); builder.AppendLine(SafetyAnalysisResults.ToString()); builder.AppendLine(); builder.AppendLine("======================================================================="); builder.AppendLine("======= Fault Activation Order Analysis: Results ======="); builder.AppendLine("======================================================================="); builder.AppendLine(); builder.AppendLine($"Elapsed Time: {Time}"); builder.AppendLine($"Order Relationship Count: {OrderRelationships.Values.SelectMany(r => r).Count()}"); builder.AppendLine(); foreach (var pair in OrderRelationships) { var relationships = pair.Value.ToArray(); builder.AppendLine($"{{ {String.Join(", ", pair.Key.Select(f => f.Name))} }}"); if (relationships.Length == 0) { builder.AppendLine(" no order relationships exist"); } else { var i = 1; foreach (var relationship in pair.Value) { builder.AppendLine($" ({i}) {relationship}"); ++i; } } } return(builder.ToString()); }