plot_piecewise(
  (Heaviside(x, 0).rewrite(Piecewise), (x, -10, 10)),
  (Piecewise(
     (sin(x), x < -5),
     (cos(x), x > 5),
     (1 / x, True)), (x, -8, 8), {"linestyle": ":"}),
  ylim=(-2, 2), detect_poles=True, legend=True, label=["A", "B"])
# Expected:
## Plot object containing:
## [0]: cartesian line: 0 for x over (-10.0, 0.0)
## [1]: cartesian line: 1 for x over (1e-06, 10.0)
## [2]: 2D list plot
## [3]: 2D list plot
## [4]: cartesian line: sin(x) for x over (-8.0, -5.000001)
## [5]: 2D list plot
## [6]: cartesian line: cos(x) for x over (5.000001, 8.0)
## [7]: 2D list plot
## [8]: cartesian line: 1/x for x over (-5.0, 5.0)
## [9]: 2D list plot
## [10]: 2D list plot
