Edge cases to handle:
Source equals sink: maximum flow is infinity (or undefined). Problem statements usually avoid this.
No path from source to sink: maximum flow is .
Single edge: maximum flow is the edge capacity.
Multiple edges between same nodes: sum their capacities or treat separately.
Always check if (source equals sink). If the graph is disconnected, BFS returns immediately with flow .