public override string ToString() { List <Gate> gates = TopologicalOrder; // that should also assign all gates to a number string str = ""; str += "Input Addrs: " + string.Join(" ", InputAddrs.Select(addr => addr.Render())) + "\n"; str += "Output Addrs: " + string.Join(" ", OutputAddrs.Select(addr => addr.Render())) + "\n"; str += string.Join("\n", gates); str += "\n"; str += string.Join("\n", OutputConnectionCounterparties.Select(kv => kv.Key + " -> " + kv.Value)); str += "\n"; return(str); }