code: def test_full_outer_join(self, df, df2):
      joined_key2 = merge(df, df2, on="key2", how="outer")
      _check_join(df, df2, joined_key2, ["key2"], how="outer")
  
      joined_both = merge(df, df2, how="outer")
      _check_join(df, df2, joined_both, ["key1", "key2"], how="outer")
  
imports: import re
  import numpy
  import pytest
  import pandas.util._test_decorators
  import pandas
  from pandas import Categorical, DataFrame, Index, MultiIndex, Series, Timestamp, bdate_range, concat, merge, option_context
  import pandas._testing
label_desc: Use image node_id 6 for calling the TestJoin obj's underlying member method code with example usage: obj.test_full_outer_join(df, df2) without return types