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)
## [1]: cartesian line: 1 for x over (1.00000000000000e-6, 10)
## [2]: 2D list plot
## [3]: 2D list plot
## [4]: cartesian line: sin(x) for x over (-8, -5.00000100000000)
## [5]: 2D list plot
## [6]: cartesian line: cos(x) for x over (5.00000100000000, 8)
## [7]: 2D list plot
## [8]: cartesian line: 1/x for x over (-5, 5)
## [9]: 2D list plot
## [10]: 2D list plot
