code: def test_add_complete_partial():
      theme1 = theme_gray()
      theme2 = theme1 + theme(axis_line_x=element_line())
      assert theme2 != theme1
      assert theme2.themeables != theme1.themeables
      assert theme2.rcParams == theme1.rcParams
  
      # specific difference
      for name in theme2.themeables:
          if name == "axis_line_x":
              assert theme2.themeables[name] != theme1.themeables[name]
          else:
              assert theme2.themeables[name] == theme1.themeables[name]
  
imports: import os
  import pytest
  from plotnine import aes, element_blank, element_line, element_text, facet_grid, facet_wrap, geom_blank, geom_point, ggplot, labs, theme, theme_538, theme_bw, theme_classic, theme_dark, theme_gray, theme_light, theme_linedraw, theme_matplotlib, theme_minimal, theme_seaborn, theme_tufte, theme_void, theme_xkcd
  from plotnine.data import mtcars
label_desc: Use image node_id 2 for calling a global function with example usage: test_add_complete_partial() without return types